s3-eventlog: fix buffer allocation in eventlog read call.
authorGünther Deschner <gd@samba.org>
Sat, 24 Jan 2009 01:07:40 +0000 (02:07 +0100)
committerGünther Deschner <gd@samba.org>
Sat, 24 Jan 2009 02:00:37 +0000 (03:00 +0100)
This broke with f6fa3080fee1b20df9f1968500840a88cf0ee592 back in April 2007...

Guenther

source3/rpc_parse/parse_eventlog.c

index a55993cc2ee4e0e7b4a4be143f830f4b0c2b96e8..40930a2500aedf12dd56603205dc26a58614cc3b 100644 (file)
@@ -185,6 +185,7 @@ bool eventlog_io_r_read_eventlog(const char *desc,
        /* Now pad with whitespace until the end of the response buffer */
 
        if (q_u->max_read_size - r_u->num_bytes_in_resp) {
+               r_u->end_of_entries_padding = PRS_ALLOC_MEM(ps, uint8_t, q_u->max_read_size - r_u->num_bytes_in_resp);
                if (!r_u->end_of_entries_padding) {
                        return False;
                }
@@ -192,11 +193,8 @@ bool eventlog_io_r_read_eventlog(const char *desc,
                if(!(prs_uint8s(False, "end of entries padding", ps, 
                                depth, r_u->end_of_entries_padding,
                                (q_u->max_read_size - r_u->num_bytes_in_resp)))) {
-                       free(r_u->end_of_entries_padding);
                        return False;
                }
-
-               free(r_u->end_of_entries_padding);
        }
 
        /* We had better be DWORD aligned here */