summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2006-11-13 10:50:55 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:15:47 -0500
commit287d68daab89c78748b90849c9782473784b6a84 (patch)
treef75874b959feddf78bfaa27a76fa96a8b6b6d7be /source
parentafd7f12124b02b594063535f93903a8a598a0587 (diff)
downloadsamba-287d68daab89c78748b90849c9782473784b6a84.tar.gz
samba-287d68daab89c78748b90849c9782473784b6a84.tar.xz
samba-287d68daab89c78748b90849c9782473784b6a84.zip
r19689: Fix a NULL dereference found by coverity (the call to strlen).
Jerry, please check this. The way I understood alpha_strcpy the last arg needs to be the size of the target, not of the source. Thanks, Volker
Diffstat (limited to 'source')
-rw-r--r--source/rpc_server/srv_winreg_nt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/source/rpc_server/srv_winreg_nt.c b/source/rpc_server/srv_winreg_nt.c
index a892a9bb8d4..1a130f19b6a 100644
--- a/source/rpc_server/srv_winreg_nt.c
+++ b/source/rpc_server/srv_winreg_nt.c
@@ -689,12 +689,14 @@ WERROR _winreg_InitiateSystemShutdownEx(pipes_struct *p, uint16_t *hostname, str
/* pull the message string and perform necessary sanity checks on it */
+ chkmsg[0] = '\0';
+
if ( message && message->name && message->name->name ) {
if ( (msg = talloc_strdup(p->mem_ctx, message->name->name )) == NULL ) {
return WERR_NOMEM;
}
+ alpha_strcpy (chkmsg, msg, NULL, sizeof(chkmsg));
}
- alpha_strcpy (chkmsg, msg?msg:"", NULL, strlen(msg));
fstr_sprintf(str_timeout, "%d", timeout);
fstr_sprintf(r, reboot ? SHUTDOWN_R_STRING : "");