diff options
Diffstat (limited to 'scripts/basic')
-rw-r--r-- | scripts/basic/fixdep.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c index df3446e35..2fa78ee6a 100644 --- a/scripts/basic/fixdep.c +++ b/scripts/basic/fixdep.c @@ -231,10 +231,10 @@ void parse_config_file(char *map, size_t len) int off; for (; p < end; p++) { - if (!memcmp(p, "CONFIG_", 7)) goto conf7; - if (!memcmp(p, "ENABLE_", 7)) goto conf7; - if (!memcmp(p, "USE_", 4)) goto conf4; - if (!memcmp(p, "SKIP_", 5)) goto conf5; + if (p<end-7 && !memcmp(p, "CONFIG_", 7)) goto conf7; + if (p<end-7 && !memcmp(p, "ENABLE_", 7)) goto conf7; + if (p<end-4 && !memcmp(p, "USE_", 4)) goto conf4; + if (p<end-5 && !memcmp(p, "SKIP_", 5)) goto conf5; continue; conf4: off = 4; goto conf; conf5: off = 5; goto conf; @@ -303,7 +303,7 @@ void parse_dep_file(void *map, size_t len) char *p; char s[PATH_MAX]; - p = strchr(m, ':'); + p = memchr(m, ':', len); if (!p) { fprintf(stderr, "fixdep: parse error\n"); exit(1); |