r10854: talloc_get_type() can return NULL..
authorJelmer Vernooij <jelmer@samba.org>
Sun, 9 Oct 2005 21:30:41 +0000 (21:30 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:39:36 +0000 (13:39 -0500)
(This used to be commit 8f7070055fc577cb4234654420539c68992d9671)

source4/rpc_server/spoolss/dcesrv_spoolss.c

index c15a7f1d8a4898583aa86671b9012229a994b77e..6936866fccf5dac17d9e09d2adba1c3fe0ba492c 100644 (file)
@@ -538,6 +538,8 @@ static WERROR spoolss_GetPrinterData(struct dcesrv_call_state *dce_call, TALLOC_
 
        DCESRV_PULL_HANDLE_WERR(h, r->in.handle, DCESRV_HANDLE_ANY);
        handle = talloc_get_type(h->data, struct ntptr_GenericHandle);
+       if (!handle)
+               return WERR_BADFID;
 
        switch (handle->type) {
                case NTPTR_HANDLE_SERVER:
@@ -609,6 +611,8 @@ static WERROR spoolss_AddForm(struct dcesrv_call_state *dce_call, TALLOC_CTX *me
 
        DCESRV_PULL_HANDLE_WERR(h, r->in.handle, DCESRV_HANDLE_ANY);
        handle = talloc_get_type(h->data, struct ntptr_GenericHandle);
+       if (!handle)
+               return WERR_BADFID;
 
        switch (handle->type) {
                case NTPTR_HANDLE_SERVER:
@@ -639,6 +643,8 @@ static WERROR spoolss_DeleteForm(struct dcesrv_call_state *dce_call, TALLOC_CTX
 
        DCESRV_PULL_HANDLE_WERR(h, r->in.handle, DCESRV_HANDLE_ANY);
        handle = talloc_get_type(h->data, struct ntptr_GenericHandle);
+       if (!handle)
+               return WERR_BADFID;
 
        switch (handle->type) {
                case NTPTR_HANDLE_SERVER:
@@ -669,6 +675,8 @@ static WERROR spoolss_GetForm(struct dcesrv_call_state *dce_call, TALLOC_CTX *me
 
        DCESRV_PULL_HANDLE_WERR(h, r->in.handle, DCESRV_HANDLE_ANY);
        handle = talloc_get_type(h->data, struct ntptr_GenericHandle);
+       if (!handle)
+               return WERR_BADFID;
 
        switch (handle->type) {
                case NTPTR_HANDLE_SERVER:
@@ -702,6 +710,8 @@ static WERROR spoolss_SetForm(struct dcesrv_call_state *dce_call, TALLOC_CTX *me
 
        DCESRV_PULL_HANDLE_WERR(h, r->in.handle, DCESRV_HANDLE_ANY);
        handle = talloc_get_type(h->data, struct ntptr_GenericHandle);
+       if (!handle)
+               return WERR_BADFID;
 
        switch (handle->type) {
                case NTPTR_HANDLE_SERVER:
@@ -732,6 +742,8 @@ static WERROR spoolss_EnumForms(struct dcesrv_call_state *dce_call, TALLOC_CTX *
 
        DCESRV_PULL_HANDLE_WERR(h, r->in.handle, DCESRV_HANDLE_ANY);
        handle = talloc_get_type(h->data, struct ntptr_GenericHandle);
+       if (!handle)
+               return WERR_BADFID;
 
        switch (handle->type) {
                case NTPTR_HANDLE_SERVER: