{ NULL, NULL, LOG_EMAIL_DEFAULT},
};
+static inline char *SkipWhiteSpaceTill(char *p, char *savep)
+{
+ char *sp = p;
+ if (unlikely(p == NULL)) {
+ return NULL;
+ }
+ while (((*sp == '\t') || (*sp == ' ')) && (sp < savep)) {
+ sp++;
+ }
+ return sp;
+}
+
static json_t* JsonEmailJsonArrayFromCommaList(const uint8_t *val, size_t len)
{
json_t *ajs = json_array();
if (likely(ajs != NULL)) {
char *savep = NULL;
char *p;
+ char *sp;
char *to_line = BytesToString((uint8_t *)val, len);
if (likely(to_line != NULL)) {
p = strtok_r(to_line, ",", &savep);
- json_array_append_new(ajs, json_string(p));
+ if (p == NULL) {
+ json_decref(ajs);
+ SCFree(to_line);
+ return NULL;
+ }
+ sp = SkipWhiteSpaceTill(p, savep);
+ json_array_append_new(ajs, json_string(sp));
while ((p = strtok_r(NULL, ",", &savep)) != NULL) {
- json_array_append_new(ajs, json_string(&p[strspn(p, " ")]));
+ sp = SkipWhiteSpaceTill(p, savep);
+ json_array_append_new(ajs, json_string(sp));
}
- SCFree(to_line);
}
+ SCFree(to_line);
}
return ajs;