s3-spoolss: in spoolss_EnumPrinters r->in.server is a *unique* pointer!
[samba.git] / source3 / rpc_server / srv_spoolss_nt.c
index b1343861567a29b0202ba1390839c14a222121ab..2dac5f6c4ab7f6eb5bd4f9aa73556ef7157e37d0 100644 (file)
@@ -4460,7 +4460,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 */
@@ -4488,8 +4488,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: