diff options
-rw-r--r-- | source3/rpc_server/srv_spoolss_nt.c | 9 | ||||
-rw-r--r-- | source3/rpc_server/srv_spoolss_util.c | 3 | ||||
-rw-r--r-- | source3/rpc_server/srv_spoolss_util.h | 1 |
3 files changed, 9 insertions, 4 deletions
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index 43ae480d24..4c660374ae 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -1882,6 +1882,7 @@ WERROR _spoolss_DeletePrinterDriver(struct pipes_struct *p, status = winreg_del_driver(p->mem_ctx, p->server_info, + p->msg_ctx, info_win2k, 3); talloc_free(info_win2k); @@ -1892,7 +1893,8 @@ WERROR _spoolss_DeletePrinterDriver(struct pipes_struct *p, } } - status = winreg_del_driver(p->mem_ctx, p->server_info, info, version); + status = winreg_del_driver(p->mem_ctx, p->server_info, p->msg_ctx, + info, version); done: talloc_free(info); @@ -2017,7 +2019,7 @@ WERROR _spoolss_DeletePrinterDriverEx(struct pipes_struct *p, /* remove the Win2k driver first*/ status = winreg_del_driver(info, p->server_info, - info_win2k, 3); + p->msg_ctx, info_win2k, 3); /* this should not have failed---if it did, report to client */ @@ -2037,7 +2039,8 @@ WERROR _spoolss_DeletePrinterDriverEx(struct pipes_struct *p, } } - status = winreg_del_driver(info, p->server_info, info, version); + status = winreg_del_driver(info, p->server_info, p->msg_ctx, info, + version); if (!W_ERROR_IS_OK(status)) { goto done; } diff --git a/source3/rpc_server/srv_spoolss_util.c b/source3/rpc_server/srv_spoolss_util.c index 668fec7bb1..05ee92f65a 100644 --- a/source3/rpc_server/srv_spoolss_util.c +++ b/source3/rpc_server/srv_spoolss_util.c @@ -4263,6 +4263,7 @@ done: WERROR winreg_del_driver(TALLOC_CTX *mem_ctx, struct auth_serversupplied_info *server_info, + struct messaging_context *msg_ctx, struct spoolss_DriverInfo8 *info8, uint32_t version) { @@ -4284,7 +4285,7 @@ WERROR winreg_del_driver(TALLOC_CTX *mem_ctx, /* test that the key exists */ result = winreg_printer_opendriver(tmp_ctx, server_info, - smbd_messaging_context(), + msg_ctx, info8->driver_name, info8->architecture, version, diff --git a/source3/rpc_server/srv_spoolss_util.h b/source3/rpc_server/srv_spoolss_util.h index ef2d8be518..6cd7556175 100644 --- a/source3/rpc_server/srv_spoolss_util.h +++ b/source3/rpc_server/srv_spoolss_util.h @@ -559,6 +559,7 @@ WERROR winreg_get_driver(TALLOC_CTX *mem_ctx, WERROR winreg_del_driver(TALLOC_CTX *mem_ctx, struct auth_serversupplied_info *server_info, + struct messaging_context *msg_ctx, struct spoolss_DriverInfo8 *info8, uint32_t version); |