summaryrefslogtreecommitdiffstats
path: root/testsuite/printing
diff options
context:
space:
mode:
authorDavid O'Neill <dmo@samba.org>2000-09-01 18:49:26 +0000
committerDavid O'Neill <dmo@samba.org>2000-09-01 18:49:26 +0000
commit74af3e2caec7197e5d1ca389e2f78054a4197502 (patch)
treeddc273071a3ca79c763b9f20a1bba6a2d891cc91 /testsuite/printing
parent8317d70a35086c5539e67d60cbcf937b6ce0932c (diff)
downloadsamba-74af3e2caec7197e5d1ca389e2f78054a4197502.tar.gz
samba-74af3e2caec7197e5d1ca389e2f78054a4197502.tar.xz
samba-74af3e2caec7197e5d1ca389e2f78054a4197502.zip
Changes from APPLIANCE_HEAD (per Tim Potter):
- make proto - addition of function to convert from errno values to NT status codes (source/lib/error.c) - purge queue done without full access permission will purge only the jobs owned by that user, rather than failing. - unlock job database tdb before sending job to printer - in print_job_start(), ensure that we don't pick a jobid with an existing temporary file that may be owned by another user, as it causes silent failures. - fixes for printer permission checking for NT5 clients (source/include/rpc_spoolss.h, source/printing/nt_printing.c, source/printing/printing.c, source/rpc_server/srv_spoolss_nt.c) - change from uint8 to 'enum SID_NAME_USE' (source/rpc_server/srv_lsa.c) - fixed memory leaks for win95 driver download process (source/smbd/lanman.c) - properly free prs_structs and dacl in testsuite/printing/psec.c
Diffstat (limited to 'testsuite/printing')
-rw-r--r--testsuite/printing/psec.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/testsuite/printing/psec.c b/testsuite/printing/psec.c
index 28c4ee0ca51..9b1fc7c46c4 100644
--- a/testsuite/printing/psec.c
+++ b/testsuite/printing/psec.c
@@ -165,6 +165,8 @@ int psec_getsec(char *printer)
prs_struct ps;
int result = 0, i;
+ ZERO_STRUCT(ps);
+
/* Open tdb for reading */
slprintf(tdb_path, sizeof(tdb_path) - 1, "%s/ntdrivers.tdb", LOCKDIR);
@@ -242,6 +244,7 @@ int psec_getsec(char *printer)
if (tdb) tdb_close(tdb);
if (mem_ctx) talloc_destroy(mem_ctx);
if (secdesc_ctr) free_sec_desc_buf(&secdesc_ctr);
+ prs_mem_free(&ps);
return result;
}
@@ -252,7 +255,7 @@ int psec_setsec(char *printer)
{
DOM_SID user_sid, group_sid;
SEC_ACE *ace_list = NULL;
- SEC_ACL *dacl;
+ SEC_ACL *dacl = NULL;
SEC_DESC *sd;
SEC_DESC_BUF *sdb = NULL;
int result = 0, num_aces = 0;
@@ -262,6 +265,8 @@ int psec_setsec(char *printer)
TALLOC_CTX *mem_ctx = NULL;
BOOL has_user_sid = False, has_group_sid = False;
+ ZERO_STRUCT(ps);
+
/* Open tdb for reading */
slprintf(tdb_path, sizeof(tdb_path) - 1, "%s/ntdrivers.tdb", LOCKDIR);
@@ -327,6 +332,8 @@ int psec_setsec(char *printer)
dacl, /* Discretionary ACL */
&size);
+ free_sec_acl(&dacl);
+
sdb = make_sec_desc_buf(size, sd);
free_sec_desc(&sd);
@@ -360,6 +367,7 @@ int psec_setsec(char *printer)
if (tdb) tdb_close(tdb);
if (sdb) free_sec_desc_buf(&sdb);
if (mem_ctx) talloc_destroy(mem_ctx);
+ prs_mem_free(&ps);
return result;
}