diff options
author | David Disseldorp <ddiss@samba.org> | 2014-05-26 15:20:13 +0200 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2014-05-28 17:52:13 +0200 |
commit | 21b03f4e6223f9823cc667b352ba325d721e30d7 (patch) | |
tree | b23bda5f3c5b28e1283830e1dd58bda221af9156 /source3 | |
parent | f6e5af03d446f3979ce706cd950571d83cf9284b (diff) | |
download | samba-21b03f4e6223f9823cc667b352ba325d721e30d7.tar.gz samba-21b03f4e6223f9823cc667b352ba325d721e30d7.tar.xz samba-21b03f4e6223f9823cc667b352ba325d721e30d7.zip |
s3/rpc_server/spoolss: remove SETUP_SPOOLSS_NOTIFY_DATA_SECDESC
The macro is only used once, and is broken in two ways:
- it relies on an externally defined mem_ctx
- _data->data.sd.sd_size is set zero twice for a NULL sd
Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Diffstat (limited to 'source3')
-rw-r--r-- | source3/rpc_server/spoolss/srv_spoolss_nt.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/source3/rpc_server/spoolss/srv_spoolss_nt.c b/source3/rpc_server/spoolss/srv_spoolss_nt.c index 1305b1006e6..588aae4eb90 100644 --- a/source3/rpc_server/spoolss/srv_spoolss_nt.c +++ b/source3/rpc_server/spoolss/srv_spoolss_nt.c @@ -846,14 +846,6 @@ static bool is_monitoring_event(struct printer_handle *p, uint16_t notify_type, #define SETUP_SPOOLSS_NOTIFY_DATA_DEVMODE(_data, _devmode) \ _data->data.devmode.devmode = _devmode; -#define SETUP_SPOOLSS_NOTIFY_DATA_SECDESC(_data, _sd) \ - _data->data.sd.sd = dup_sec_desc(mem_ctx, _sd); \ - if (!_data->data.sd.sd) { \ - _data->data.sd.sd_size = 0; \ - } \ - _data->data.sd.sd_size = \ - ndr_size_security_descriptor(_data->data.sd.sd, 0); - static void init_systemtime_buffer(TALLOC_CTX *mem_ctx, struct tm *t, const char **pp, @@ -2943,7 +2935,9 @@ static void spoolss_notify_security_desc(struct messaging_context *msg_ctx, struct spoolss_PrinterInfo2 *pinfo2, TALLOC_CTX *mem_ctx) { - SETUP_SPOOLSS_NOTIFY_DATA_SECDESC(data, pinfo2->secdesc); + data->data.sd.sd = dup_sec_desc(mem_ctx, pinfo2->secdesc); + data->data.sd.sd_size = ndr_size_security_descriptor(data->data.sd.sd, + 0); } /******************************************************************* |