diff options
author | Arsen Arsenović <arsen@gentoo.org> | 2023-02-21 20:20:31 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2023-02-27 13:09:44 +0100 |
commit | 2d4a3d9e6c1493a9520b907e07a41aca90cdfd94 (patch) | |
tree | 43346d952c6bab88c456802246d9531f67907127 | |
parent | 029740a3e43835d2a71696449baba5250a346e0a (diff) | |
download | busybox-w32-2d4a3d9e6c1493a9520b907e07a41aca90cdfd94.tar.gz busybox-w32-2d4a3d9e6c1493a9520b907e07a41aca90cdfd94.tar.bz2 busybox-w32-2d4a3d9e6c1493a9520b907e07a41aca90cdfd94.zip |
fixdep: avoid underflow when end of entry doesn't coincide with EOF
Bug: https://bugs.gentoo.org/893776
Closes: https://bugs.busybox.net/show_bug.cgi?id=15326
Signed-off-by: Arsen Arsenović <arsen@gentoo.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | scripts/basic/fixdep.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c index 426b4888b..66be73aad 100644 --- a/scripts/basic/fixdep.c +++ b/scripts/basic/fixdep.c | |||
@@ -338,6 +338,11 @@ void parse_dep_file(void *map, size_t len) | |||
338 | do p--; while (!isalnum((unsigned char)*p)); | 338 | do p--; while (!isalnum((unsigned char)*p)); |
339 | p++; | 339 | p++; |
340 | } | 340 | } |
341 | if (p < m) { | ||
342 | /* we've consumed the last filename of this list | ||
343 | already. */ | ||
344 | break; | ||
345 | } | ||
341 | memcpy(s, m, p-m); s[p-m] = 0; | 346 | memcpy(s, m, p-m); s[p-m] = 0; |
342 | if (strrcmp(s, "include/autoconf.h") && | 347 | if (strrcmp(s, "include/autoconf.h") && |
343 | strrcmp(s, "arch/um/include/uml-config.h") && | 348 | strrcmp(s, "arch/um/include/uml-config.h") && |