mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
r16424: Fix possible null deref and a memory leak found by
examining Klockwork #1519. get_printer_subkeys()
could return zero without initializing it's return
pointer arg. Fixed this. Added free of subkey pointer
return in registry/reg_printing.c (interesting that
neithe Coverity or Klocwork found this one).
Jeremy.
(This used to be commit 4fbeae1a3a
)
This commit is contained in:
parent
a167c2c09e
commit
f014291edd
@ -2767,6 +2767,8 @@ int get_printer_subkeys( NT_PRINTER_DATA *data, const char* key, fstring **subke
|
||||
fstring *subkeys_ptr = NULL;
|
||||
fstring subkeyname;
|
||||
|
||||
*subkeys = NULL;
|
||||
|
||||
if ( !data )
|
||||
return 0;
|
||||
|
||||
|
@ -346,8 +346,10 @@ static BOOL key_printers_store_keys( const char *key, REGSUBKEY_CTR *subkeys )
|
||||
if ( lookup_printerkey(printer->info_2->data, subkeyname) == -1 ) {
|
||||
DEBUG(5,("key_printers_store_keys: adding key %s\n",
|
||||
existing_subkeys[i]));
|
||||
if ( add_new_printer_key( printer->info_2->data, subkeyname ) == -1 )
|
||||
if ( add_new_printer_key( printer->info_2->data, subkeyname ) == -1 ) {
|
||||
SAFE_FREE( existing_subkeys );
|
||||
return False;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -360,6 +362,8 @@ static BOOL key_printers_store_keys( const char *key, REGSUBKEY_CTR *subkeys )
|
||||
if ( printer )
|
||||
free_a_printer( &printer, 2 );
|
||||
|
||||
SAFE_FREE( existing_subkeys );
|
||||
|
||||
return True;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user