diff --git a/src/kit/shell/src/shellEngine.c b/src/kit/shell/src/shellEngine.c index 0325e7f641ecea998927f909c02df724641890d3..e291fdc551c5538f5391481065393935d78c65c6 100644 --- a/src/kit/shell/src/shellEngine.c +++ b/src/kit/shell/src/shellEngine.c @@ -284,7 +284,7 @@ void shellRunCommandOnServer(TAOS *con, char command[]) { /* Function to do regular expression check */ int regex_match(const char *s, const char *reg, int cflags) { regex_t regex; - char msgbuf[100]; + char msgbuf[100] = {0}; /* Compile regular expression */ if (regcomp(®ex, reg, cflags) != 0) { diff --git a/src/kit/shell/src/shellMain.c b/src/kit/shell/src/shellMain.c index a7b7e8383bafab2f76682488d131c0d2bfbe65d3..81a41453e8ab05b572c762a5abbcc97749e3ed62 100644 --- a/src/kit/shell/src/shellMain.c +++ b/src/kit/shell/src/shellMain.c @@ -97,6 +97,8 @@ int main(int argc, char* argv[]) { /* Interupt handler. */ struct sigaction act; + memset(&act, 0, sizeof(struct sigaction)); + act.sa_handler = interruptHandler; sigaction(SIGTERM, &act, NULL); sigaction(SIGINT, &act, NULL);