summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2010-02-18 02:03:53 +0100
committerKarolin Seeger <kseeger@samba.org>2010-05-17 09:50:17 +0200
commit1eb5581e4db8173848676e594be8cecec6980870 (patch)
tree98065543f994bf61b638d0d419e284b75d55ecf4
parent6b5ab8701ea945874232144915f97ff5d8038b47 (diff)
downloadsamba-1eb5581e4db8173848676e594be8cecec6980870.tar.gz
s3-spoolss: in spoolss_EnumPrinters r->in.server is a *unique* pointer!
Guenther (cherry picked from commit 8ce66fba03f782c0b9948a9835bb488cfa74acf9) (cherry picked from commit cb6fcb9b16b36fcdc68bef382dbd7ecf89521d4e)
-rw-r--r--source3/rpc_server/srv_spoolss_nt.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c
index 92f37e505ff..73675367127 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -4275,7 +4275,7 @@ static WERROR enumprinters_level5(TALLOC_CTX *mem_ctx,
WERROR _spoolss_EnumPrinters(pipes_struct *p,
struct spoolss_EnumPrinters *r)
{
- const char *name;
+ const char *name = NULL;
WERROR result;
/* that's an [in out] buffer */
@@ -4303,8 +4303,10 @@ WERROR _spoolss_EnumPrinters(pipes_struct *p,
* Level 5: same as Level 2
*/
- name = talloc_strdup_upper(p->mem_ctx, r->in.server);
- W_ERROR_HAVE_NO_MEMORY(name);
+ if (name) {
+ name = talloc_strdup_upper(p->mem_ctx, r->in.server);
+ W_ERROR_HAVE_NO_MEMORY(name);
+ }
switch (r->in.level) {
case 0: