From d04c1efd0ff130acbf17a0167a878cf27d9bdec5 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Fri, 12 Aug 2005 16:00:54 +0000 Subject: r9264: fix valgrind invalid write error in enumprinterdata() (This used to be commit bfebbc86fc0f90e580888da25006d8e5e50b6304) --- source3/rpc_server/srv_spoolss_nt.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'source3') diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index 692dacf159..5391ac5f41 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -8040,13 +8040,14 @@ WERROR _spoolss_enumprinterdata(pipes_struct *p, SPOOL_Q_ENUMPRINTERDATA *q_u, S /* data - counted in bytes */ *out_max_data_len = in_data_len; - if ( (*data_out = (uint8 *)TALLOC_ZERO(p->mem_ctx, in_data_len*sizeof(uint8))) == NULL) + if ( in_data_len && (*data_out = (uint8 *)TALLOC_ZERO(p->mem_ctx, in_data_len*sizeof(uint8))) == NULL) { result = WERR_NOMEM; goto done; } data_len = regval_size(val); - memcpy( *data_out, regval_data_p(val), data_len ); + if ( *data_out ) + memcpy( *data_out, regval_data_p(val), data_len ); *out_data_len = data_len; } -- cgit