summaryrefslogtreecommitdiff
path: root/source3/rpc_server/spoolss
diff options
context:
space:
mode:
Diffstat (limited to 'source3/rpc_server/spoolss')
-rw-r--r--source3/rpc_server/spoolss/srv_spoolss_nt.c30
1 files changed, 18 insertions, 12 deletions
diff --git a/source3/rpc_server/spoolss/srv_spoolss_nt.c b/source3/rpc_server/spoolss/srv_spoolss_nt.c
index 400884860e..ef987e5fc9 100644
--- a/source3/rpc_server/spoolss/srv_spoolss_nt.c
+++ b/source3/rpc_server/spoolss/srv_spoolss_nt.c
@@ -6744,12 +6744,15 @@ static WERROR update_printer(struct pipes_struct *p,
}
}
- update_dsspooler(tmp_ctx,
- get_session_info_system(),
- p->msg_ctx,
- snum,
- printer,
- old_printer);
+ result = update_dsspooler(tmp_ctx,
+ get_session_info_system(),
+ p->msg_ctx,
+ snum,
+ printer,
+ old_printer);
+ if (!W_ERROR_IS_OK(result)) {
+ goto done;
+ }
printer_mask &= ~SPOOLSS_PRINTER_INFO_SECDESC;
@@ -8105,12 +8108,15 @@ static WERROR spoolss_addprinterex_level_2(struct pipes_struct *p,
info2_mask = ~SPOOLSS_PRINTER_INFO_DEVMODE;
}
- update_dsspooler(p->mem_ctx,
- get_session_info_system(),
- p->msg_ctx,
- 0,
- info2,
- NULL);
+ err = update_dsspooler(p->mem_ctx,
+ get_session_info_system(),
+ p->msg_ctx,
+ 0,
+ info2,
+ NULL);
+ if (!W_ERROR_IS_OK(err)) {
+ return err;
+ }
err = winreg_update_printer_internal(p->mem_ctx,
get_session_info_system(),