diff --git a/source/dnode/mgmt/exe/dmMain.c b/source/dnode/mgmt/exe/dmMain.c index 882f04c75e..1508d88def 100644 --- a/source/dnode/mgmt/exe/dmMain.c +++ b/source/dnode/mgmt/exe/dmMain.c @@ -182,7 +182,16 @@ static int32_t dmParseArgs(int32_t argc, char const *argv[]) { } else if (strcmp(argv[i], "-s") == 0) { global.dumpSdb = true; } else if (strcmp(argv[i], "-E") == 0) { - tstrncpy(global.envFile, argv[++i], PATH_MAX); + if(i < argc - 1) { + if (strlen(argv[++i]) >= PATH_MAX) { + printf("env file path overflow"); + return -1; + } + tstrncpy(global.envFile, argv[i], PATH_MAX); + } else { + printf("'-E' requires a parameter\n"); + return -1; + } } else if (strcmp(argv[i], "-k") == 0) { global.generateGrant = true; } else if (strcmp(argv[i], "-C") == 0) {