diff options
author | Gerald Carter <jerry@samba.org> | 2006-03-01 03:10:21 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:10:53 -0500 |
commit | f0a8f438793a806e8cf73e1e695b09e540a4239e (patch) | |
tree | 68cf231f1135ce007b7fd4ce25658629f0bb1f47 | |
parent | 085c6859ee5b97efe9ec06e95877d500822d3c82 (diff) | |
download | samba-f0a8f438793a806e8cf73e1e695b09e540a4239e.tar.gz samba-f0a8f438793a806e8cf73e1e695b09e540a4239e.tar.xz samba-f0a8f438793a806e8cf73e1e695b09e540a4239e.zip |
r13766: Patch from Arek Glabek <aglabek@centeris.com>:
* Fix parsing error in eventlogadm caused by log entries
with no DAT: line.
-rw-r--r-- | source/rpc_server/srv_eventlog_lib.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/source/rpc_server/srv_eventlog_lib.c b/source/rpc_server/srv_eventlog_lib.c index ec5edf2f347..b3d94901bac 100644 --- a/source/rpc_server/srv_eventlog_lib.c +++ b/source/rpc_server/srv_eventlog_lib.c @@ -707,16 +707,13 @@ BOOL parse_logentry( char *line, Eventlog_entry * entry, BOOL * eor ) memset( temp, 0, sizeof( temp ) ); strncpy( temp, stop, temp_len ); rpcstr_push( ( void * ) ( entry->data_record.strings + - entry->data_record.strings_len ), + ( entry->data_record.strings_len / 2 ) ), temp, sizeof( entry->data_record.strings ) - - entry->data_record.strings_len, STR_TERMINATE ); - entry->data_record.strings_len += temp_len + 1; + ( entry->data_record.strings_len / 2 ), STR_TERMINATE ); + entry->data_record.strings_len += ( temp_len * 2 ) + 2; entry->record.num_strings++; } else if ( 0 == strncmp( start, "DAT", stop - start ) ) { - /* Now that we're done processing the STR data, adjust the length to account for - unicode, then proceed with the DAT data. */ - entry->data_record.strings_len *= 2; /* skip past initial ":" */ stop++; /* now skip any other leading whitespace */ |