Skip to contentSkip to conversation

scripts/basic/fixdep segfault on pathological string-o-death

PATCH In review Andy Green 2 participants 2 messages May 2, 2007 Kbuild

lore
Share & tools
lore

Andy Green

author
#0 lore raw

PATCH 1/1 scripts/basic/fixdep segfault on pathological string-o-death

build scripts: fixdep blows segfault on string CONFIG_MODULE seen

The string "CONFIG_MODULE" appearing anywhere in a source file causes fixdep to segfault. This string appeared in the wild in the current mISDN sources (I think they meant CONFIG_MODULES). But it shouldn't segfault (esp as CONFIG_MODULE appeared in a quoted string).

---
 scripts/basic/fixdep.c |    2 ++
 1 file changed, 2 insertions(+)
scripts/basic/fixdep.c +2 -0
Index: 2.6.21-1.3116.fc7-i686/scripts/basic/fixdep.c
===================================================================
@@ -249,6 +249,8 @@ void parse_config_file(char *map, size_t
 	found:
 		if (!memcmp(q - 7, "_MODULE", 7))
 			q -= 7;
+		if( (q-p-7) < 0 )
+			continue;
 		use_config(p+7, q-p-7);
 	}
 }
#1 lore raw
Quoted 8 lines · Andy Green

build scripts: fixdep blows segfault on string CONFIG_MODULE seen

The string "CONFIG_MODULE" appearing anywhere in a source file causes fixdep to segfault. This string appeared in the wild in the current mISDN sources (I think they meant CONFIG_MODULES). But it shouldn't segfault (esp as CONFIG_MODULE appeared in a quoted string).

Applied and forwarded to [email protected].

Thanks,
Sam

Quoted 22 lines
---
 scripts/basic/fixdep.c |    2 ++
 1 file changed, 2 insertions(+)

Index: 2.6.21-1.3116.fc7-i686/scripts/basic/fixdep.c
===================================================================

scripts/basic/fixdep.c +2 -1
@@ -249,6 +249,8 @@ void parse_config_file(char *map, size_t
 	found:
 		if (!memcmp(q - 7, "_MODULE", 7))
 			q -= 7;
+		if( (q-p-7) < 0 )
+			continue;
 		use_config(p+7, q-p-7);
 	}
 }
-

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/