Fix y4mReadUnsignedInt() when no digit char (#1834)
diff --git a/apps/shared/y4m.c b/apps/shared/y4m.c index 265fccf..7d0aafb 100644 --- a/apps/shared/y4m.c +++ b/apps/shared/y4m.c
@@ -8,7 +8,6 @@ #include <assert.h> #include <inttypes.h> #include <limits.h> -#include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -141,10 +140,10 @@ // Returns -1 in case of failure. int y4mReadUnsignedInt(const char * start, const char * end) { - if (start >= end) { + if (start >= end || *start < '0' || *start > '9') { return -1; } - int64_t value = 0; + int64_t value = *(start++) - '0'; while (start != end && *start >= '0' && *start <= '9') { value = value * 10 + (*(start++) - '0'); if (value > INT_MAX) {