diff --git a/libopenarc/arc-canon.c b/libopenarc/arc-canon.c index b2d66b0a..6251f5b9 100644 --- a/libopenarc/arc-canon.c +++ b/libopenarc/arc-canon.c @@ -2135,16 +2135,20 @@ arc_parse_canon_t(unsigned char *tag, arc_canon_t *hdr_canon, return ARC_STAT_INVALID; token = strtok_r(tag, "/", &last); + if (token == NULL) + return ARC_STAT_INVALID; + code = arc_name_to_code(canonicalizations, token); - if (code == -1) return ARC_STAT_INVALID; *hdr_canon = (arc_canon_t) code; token = strtok_r(NULL, "/", &last); - code = arc_name_to_code(canonicalizations, token); + if (token == NULL) + return ARC_STAT_INVALID; + code = arc_name_to_code(canonicalizations, token); if (code == -1) return ARC_STAT_INVALID;