tag/ApeLoader: fix buffer overflow after unterminated key
This commit is contained in:
@@ -78,12 +78,12 @@ ape_scan_internal(FILE *fp, ApeTagCallback callback)
|
||||
|
||||
/* get the key */
|
||||
const char *key = p;
|
||||
while (remaining > size && *p != '\0') {
|
||||
p++;
|
||||
remaining--;
|
||||
}
|
||||
p++;
|
||||
remaining--;
|
||||
const char *key_end = (const char *)memchr(p, '\0', remaining);
|
||||
if (key_end == nullptr)
|
||||
break;
|
||||
|
||||
p = key_end + 1;
|
||||
remaining -= p - key;
|
||||
|
||||
/* get the value */
|
||||
if (remaining < size)
|
||||
|
Reference in New Issue
Block a user