2004-09-29 16:19:12

by maximilian attems

[permalink] [raw]
Subject: [patch 2.4] menuconfig fix crash due to infinite recursion

gawk(1) tells that getline "returns 0 on end of file and -1 on an error."
in current script for menuconfig if getline has an error,
it is still treated as true.

2.6 don't use that script anymore.
fix suggestion from Aharon Robbins <[email protected]>
debian bts has 2 bugs open concerning that issue,
this is the one containing belows fix:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=147469

[TM] tested.
menuconfig still works for me. ;)


--- a/scripts/Menuconfig 2002-08-03 02:39:46.000000000 +0200
+++ b/scripts/Menuconfig 2004-09-29 18:00:29.000000000 +0200
@@ -714,7 +714,7 @@ BEGIN {

function parser(ifile,menu) {

- while (getline <ifile) {
+ while ((getline < ifile) > 0) {
if ($1 == "mainmenu_option") {
comment_is_option = "1"
}

--
maks
kernel janitor http://janitor.kernelnewbies.org/


2004-09-30 19:33:53

by maximilian attems

[permalink] [raw]
Subject: Re: [patch 2.4] menuconfig fix crash due to infinite recursion


gawk(1) tells that getline "returns 0 on end of file and -1 on an error."
in current script for menuconfig if getline has an error,
it is still treated as true, fix _both_ of its invocations.

2.6 don't use that script anymore.
fix suggestion from Aharon Robbins <[email protected]>
debian bts has 2 bugs open concerning that issue,
this is the one containing belows fix:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=147469

[TM] tested.
menuconfig still works for me. ;)



--- a/scripts/Menuconfig 2002-08-03 02:39:46.000000000 +0200
+++ b/scripts/Menuconfig 2004-09-30 21:29:21.000000000 +0200
@@ -714,7 +714,7 @@ BEGIN {

function parser(ifile,menu) {

- while (getline <ifile) {
+ while ((getline <ifile) > 0) {
if ($1 == "mainmenu_option") {
comment_is_option = "1"
}
@@ -761,7 +761,7 @@ BEGIN {

function parser(ifile,menu) {

- while (getline <ifile) {
+ while ((getline <ifile) > 0) {
if ($0 ~ /^#|$MAKE|mainmenu_name/) {
printf("") >>menu
}


--
maks
kernel janitor http://janitor.kernelnewbies.org/