r7880: fix a typo and memleak on failures cases (patch from marcin)
authorGerald Carter <jerry@samba.org>
Fri, 24 Jun 2005 15:49:02 +0000 (15:49 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:58:00 +0000 (10:58 -0500)
source/rpc_parse/parse_eventlog.c
source/rpc_server/srv_eventlog.c
source/rpc_server/srv_eventlog_nt.c

index d27761ad0ff027b98f483c4cb4df831f32382bfe..734f52fffb37f8ac0552417ce2f04f718b2f5c3b 100644 (file)
@@ -33,7 +33,7 @@ BOOL eventlog_io_q_open_eventlog(const char *desc, EVENTLOG_Q_OPEN_EVENTLOG *q_u
        if(q_u == NULL)
                return False;
     
-    /* Data format seems to be:
+    /** Data format seems to be:
        UNKNOWN structure
          uint32            unknown
          uint16            unknown
@@ -258,7 +258,7 @@ BOOL eventlog_io_q_read_eventlog(const char *desc, EVENTLOG_Q_READ_EVENTLOG *q_u
 
        return True;
 }
-/* Structure of response seems to be:
+/** Structure of response seems to be:
    DWORD num_bytes_in_resp -- MUST be the same as q_u->max_read_size
    for i=0..n
        EVENTLOGRECORD record
@@ -397,7 +397,7 @@ BOOL eventlog_io_r_read_eventlog(const char *desc,
        return True;
 }
 
-/* The windows client seems to be doing something funny with the file name
+/** The windows client seems to be doing something funny with the file name
    A call like
       ClearEventLog(handle, "backup_file")
    on the client side will result in the backup file name looking like this on the
index 07aebcd2faaf685947ae5a7b37eae030f9e40153..65b10e8fe40dcc93b89222614139ef4f1ca2aa67 100644 (file)
@@ -185,7 +185,7 @@ static BOOL api_eventlog_clear_eventlog(pipes_struct *p)
 struct api_struct api_eventlog_cmds[] =
 {
        {"EVENTLOG_OPENEVENTLOG",       EVENTLOG_OPENEVENTLOG,          api_eventlog_open_eventlog    },
-       {"EVENTLOG_CLOSEVENTLOG",       EVENTLOG_CLOSEEVENTLOG,         api_eventlog_close_eventlog   },
+       {"EVENTLOG_CLOSEEVENTLOG",      EVENTLOG_CLOSEEVENTLOG,         api_eventlog_close_eventlog   },
        {"EVENTLOG_GETNUMRECORDS",      EVENTLOG_GETNUMRECORDS,         api_eventlog_get_num_records  },
        {"EVENTLOG_GETOLDESTENTRY",     EVENTLOG_GETOLDESTENTRY,        api_eventlog_get_oldest_entry },
        {"EVENTLOG_READEVENTLOG",       EVENTLOG_READEVENTLOG,          api_eventlog_read_eventlog    },
index ea7512b58dae38e6bf116bb55a435cfb3496d2a7..3c6e9a100f74d748b4d565e556108ec3a5d45ee2 100644 (file)
@@ -169,12 +169,18 @@ WERROR _eventlog_open_eventlog(pipes_struct *p,
     DEBUG(10, ("_eventlog_open_eventlog: Using [%s] as the source log file.\n", info->source_log_file_name));
 
     if(!create_policy_hnd(p, &(r_u->handle), free_eventlog_info, (void *)info))
+    {
+       free_eventlog_info(info);
        return WERR_NOMEM;
+    }
 
     policy_handle_to_string(&r_u->handle, &info->handle_string);
 
     if(!(_eventlog_open_eventlog_hook(info)))
+    {
+       close_policy_hnd(p, &r_u->handle);
        return WERR_BADFILE;
+    }
 
     return WERR_OK;
 }