diff options
Diffstat (limited to 'src/sh_log_evalrule.c')
-rw-r--r-- | src/sh_log_evalrule.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/sh_log_evalrule.c b/src/sh_log_evalrule.c index 98a36d0..b053975 100644 --- a/src/sh_log_evalrule.c +++ b/src/sh_log_evalrule.c @@ -185,7 +185,7 @@ int sh_eval_gadd (const char * str) group_extra = NULL; /* pcre_study(group, 0, &error); */ ng = SH_ALLOC(sizeof(struct sh_geval)); - memset(ng, '\0', sizeof(struct sh_geval)); + memset(ng, 0, sizeof(struct sh_geval)); ng->label = sh_string_new_from_lchar(splits[0], lengths[0]); ng->flags = RFL_ISGROUP; @@ -293,7 +293,7 @@ int sh_eval_hadd (const char * str) host_extra = NULL; /* pcre_study(host, 0, &error); */ nh = SH_ALLOC(sizeof(struct sh_heval)); - memset(nh, '\0', sizeof(struct sh_heval)); + memset(nh, 0, sizeof(struct sh_heval)); nh->hostname = host; nh->hostname_extra = host_extra; @@ -361,7 +361,7 @@ int sh_eval_qadd (const char * str) } nq = SH_ALLOC(sizeof(struct sh_qeval)); - memset(nq, '\0', sizeof(struct sh_qeval)); + memset(nq, 0, sizeof(struct sh_qeval)); nq->label = sh_string_new_from_lchar(splits[0], lengths[0]); nq->alias = NULL; @@ -457,7 +457,7 @@ static char * get_label_and_time(const char * inprefix, char * str, if (splits && nfields == 2 && lengths[0] > 0 && lengths[1] > 0) { *seconds = strtoul(splits[0], &endptr, 10); - if ((endptr == '\0' || endptr != splits[0]) && (*seconds != ULONG_MAX)) + if ((*endptr == '\0') && (endptr != splits[0]) && (*seconds != ULONG_MAX)) { res = sh_util_strdup(splits[1]); } @@ -494,6 +494,9 @@ int sh_eval_radd (const char * str) char * s = new; volatile char pflag = '-'; + if (s == NULL) + return -1; + /* cppcheck-suppress uninitdata */ while ( *s && isspace((int)*s) ) ++s; if (0 == strncmp(s, _("KEEP"), 4) || 0 == strncmp(s, _("CORRELATE"), 9) || @@ -616,7 +619,7 @@ int sh_eval_radd (const char * str) SH_FREE(new); nr = SH_ALLOC(sizeof(struct sh_geval)); - memset(nr, '\0', sizeof(struct sh_geval)); + memset(nr, 0, sizeof(struct sh_geval)); nr->label = NULL; nr->flags = RFL_ISRULE; @@ -1138,7 +1141,7 @@ static struct sh_ceval * find_counter(struct sh_geval * rule, DEBUG("debug: no counter found\n"); counter = SH_ALLOC(sizeof(struct sh_ceval)); - memset(counter, '\0', sizeof(struct sh_ceval)); + memset(counter, 0, sizeof(struct sh_ceval)); counter->hostname = sh_string_new_from_lchar(sh_string_str(host), sh_string_len(host)); |