diff options
author | Douglas Bagnall <douglas.bagnall@catalyst.net.nz> | 2019-05-03 16:12:29 +1200 |
---|---|---|
committer | Douglas Bagnall <dbagnall@samba.org> | 2019-05-09 22:39:27 +0000 |
commit | 9fd3939a718ce051bf006b474bb7cbe1d6f8db3a (patch) | |
tree | de8a7cf3eede19bf21f67ef8abc02c3f7fbd829c /lib/tdb/tools | |
parent | b289cc19b5b47993052b3006071338bfbb251048 (diff) | |
download | samba-9fd3939a718ce051bf006b474bb7cbe1d6f8db3a.tar.gz |
tdbtool: avoid theoretical NULL dereference (CID 1361462)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
Diffstat (limited to 'lib/tdb/tools')
-rw-r--r-- | lib/tdb/tools/tdbtool.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/lib/tdb/tools/tdbtool.c b/lib/tdb/tools/tdbtool.c index 41ae52395b1..36e480cd29c 100644 --- a/lib/tdb/tools/tdbtool.c +++ b/lib/tdb/tools/tdbtool.c @@ -695,16 +695,18 @@ static int do_command(void) enum commands mycmd = CMD_HELP; int cmd_len; - if (cmdname && strlen(cmdname) == 0) { - mycmd = CMD_NEXT; - } else { - while (ctp->name) { - cmd_len = strlen(ctp->name); - if (strncmp(ctp->name,cmdname,cmd_len) == 0) { - mycmd = ctp->cmd; - break; + if (cmdname != NULL) { + if (strlen(cmdname) == 0) { + mycmd = CMD_NEXT; + } else { + while (ctp->name) { + cmd_len = strlen(ctp->name); + if (strncmp(ctp->name,cmdname,cmd_len) == 0) { + mycmd = ctp->cmd; + break; + } + ctp++; } - ctp++; } } |