diff options
Diffstat (limited to 'source3/printing')
-rw-r--r-- | source3/printing/nt_printing.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c index e37238c2ce..00d1eaacd3 100644 --- a/source3/printing/nt_printing.c +++ b/source3/printing/nt_printing.c @@ -2830,6 +2830,7 @@ static int unpack_values(NT_PRINTER_DATA *printer_data, char *buf, int buflen) regval_ctr_addvalue( &printer_data->keys[key_index].values, valuename, type, data_p, size ); + SAFE_FREE(data_p); /* 'B' option to tdb_unpack does a malloc() */ DEBUG(8,("specific: [%s:%s], len: %d\n", keyname, valuename, size)); } @@ -4382,9 +4383,8 @@ BOOL nt_printing_getsec(TALLOC_CTX *ctx, const char *printername, SEC_DESC_BUF * fstring key; char *temp; - if ((temp = strchr(printername + 2, '\\'))) { + if (strlen(printername) > 2 && (temp = strchr(printername + 2, '\\'))) printername = temp + 1; - } /* Fetch security descriptor from tdb */ |