diff --git a/src/svc.c b/src/svc.c index e9e53ebb..f6dd562d 100644 --- a/src/svc.c +++ b/src/svc.c @@ -617,7 +617,7 @@ int svc_parse_jobstr(char *str, size_t len, int (*found)(svc_t *), int (not_foun char *ptr; _d("Got token:'%s'", input); - token = sanitize(input, len); + token = sanitize(input, strlen(input) + 1); if (!token) { _d("Sanitation of token:'%s' failed", input); goto next; diff --git a/src/util.c b/src/util.c index 691d6b11..ac9b4926 100644 --- a/src/util.c +++ b/src/util.c @@ -193,7 +193,7 @@ char *sanitize(char *arg, size_t len) regex_t preg; int rc; - if (strlen(arg) > len) + if (!memchr(arg, 0, len)) return NULL; if (regcomp(&preg, regex, REG_ICASE | REG_EXTENDED))