summaryrefslogtreecommitdiff
path: root/lib/tdb/tools
diff options
context:
space:
mode:
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>2019-05-03 16:12:29 +1200
committerDouglas Bagnall <dbagnall@samba.org>2019-05-09 22:39:27 +0000
commit9fd3939a718ce051bf006b474bb7cbe1d6f8db3a (patch)
treede8a7cf3eede19bf21f67ef8abc02c3f7fbd829c /lib/tdb/tools
parentb289cc19b5b47993052b3006071338bfbb251048 (diff)
downloadsamba-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.c20
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++;
}
}