It attempts to access in_start[36], despite 35 being the maximum
allowed index.
Reported-by: Pierre-Anthony Lemieux <pal@palemieux.com>
Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
if ((in_end - in_start) != 36)
return -1;
- for (i=0, cp = in_start; i <= 36; i++,cp++) {
+ for (i=0, cp = in_start; i < 36; i++,cp++) {
if ((i == 8) || (i == 13) || (i == 18) ||
(i == 23)) {
if (*cp == '-')
continue;
return -1;
}
- if (i== 36)
- if (*cp == 0)
- continue;
+
if (!isxdigit(*cp))
return -1;
}