kconfig: Avoid buffer underrun in choice input
PATCH 1/1 kconfig: Avoid buffer underrun in choice input
commit 40aee729b350672c2550640622416a855e27938f ('kconfig: fix default value for choice input') fixed some cases where kconfig would select the wrong option from a choice with a single valid option and thus enter an infinite loop.
However, this broke the test for user input of the form 'N?', because when kconfig selects the single valid option the input is zero-length and the test will read the byte before the input buffer. If this happens to contain '?' (as it will in a mips build on Debian unstable today) then kconfig again enters an infinite loop.
---
Roman has failed to respond to this after 5 weeks and one reminder, so please take it directly.
Ben.
scripts/kconfig/conf.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
scripts/kconfig/conf.c +1 -1
@@ -332,7 +332,7 @@ static int conf_choice(struct menu *menu) }if (!child)continue ; -if (line[strlen (line) -1 ] =='?' ) { +if (line[0 ] && line[strlen (line) -1 ] =='?' ) {print_help (child);continue ; }
Signature · 1 line
1.7.4.1
Quoted 11 lines · Ben Hutchings
commit
40aee729b350672c2550640622416a855e27938f('kconfig: fix default value for choice input') fixed some cases where kconfig would select the wrong option from a choice with a single valid option and thus enter an infinite loop.However, this broke the test for user input of the form 'N?', because when kconfig selects the single valid option the input is zero-length and the test will read the byte before the input buffer. If this happens to contain '?' (as it will in a mips build on Debian unstable today) then kconfig again enters an infinite loop.
Quoted 5 lines
Signed-off-by Ben Hutchings <[email protected]>Cc [email protected] [2.6.17+]---
Roman has failed to respond to this after 5 weeks and one reminder, so please take it directly.
No-one has heard from Roman Zippel in several years. I have suggested Michal Marek to take over the maintainer role - as he in practice is the kconfig maintainer.
Sam
Quoted 18 lines · Sam Ravnborg
Quoted 11 lines · Ben Hutchings
commit
40aee729b350672c2550640622416a855e27938f('kconfig: fix default value for choice input') fixed some cases where kconfig would select the wrong option from a choice with a single valid option and thus enter an infinite loop.However, this broke the test for user input of the form 'N?', because when kconfig selects the single valid option the input is zero-length and the test will read the byte before the input buffer. If this happens to contain '?' (as it will in a mips build on Debian unstable today) then kconfig again enters an infinite loop.
Quoted 5 lines
Signed-off-by Ben Hutchings <[email protected]>Cc [email protected] [2.6.17+]---
Roman has failed to respond to this after 5 weeks and one reminder, so please take it directly.
Quoted 3 lines
No-one has heard from Roman Zippel in several years. I have suggested Michal Marek to take over the maintainer role - as he in practice is the kconfig maintainer.
Can someone please update MAINTAINERS then? What is the point of it if people don't update it for years?
Ben.
Signature · 2 lines
Ben Hutchings Once a job is fouled up, anything done to improve it makes it worse.
Quoted 11 lines · Ben Hutchings
Quoted 7 lines · Sam Ravnborg
Quoted 2 lines · Ben Hutchings
Roman has failed to respond to this after 5 weeks and one reminder, so please take it directly.
No-one has heard from Roman Zippel in several years. I have suggested Michal Marek to take over the maintainer role - as he in practice is the kconfig maintainer.
Can someone please update
MAINTAINERSthen? What is the point of it if people don't update it for years?
I have removed him from AFFS, HFS, and m68k.
I left the kbuild entry for the kbuild people.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Quoted 11 lines · Ben Hutchings
commit
40aee729b350672c2550640622416a855e27938f('kconfig: fix default value for choice input') fixed some cases where kconfig would select the wrong option from a choice with a single valid option and thus enter an infinite loop.However, this broke the test for user input of the form 'N?', because when kconfig selects the single valid option the input is zero-length and the test will read the byte before the input buffer. If this happens to contain '?' (as it will in a mips build on Debian unstable today) then kconfig again enters an infinite loop.
Quoted 5 lines
Signed-off-by Ben Hutchings<[email protected]>Cc [email protected] [2.6.17+]---
Roman has failed to respond to this after 5 weeks and one reminder, so please take it directly.
I applied this on 8th April, see
http://www.spinics.net/lists/linux-kbuild/msg04431.html. Please check linux-next before reposting patches next time, now I either have to rewind the kconfig branch or let Linus merge it with a duplicate commit :-(.
Michal
Quoted 12 lines · Michal Marek
Quoted 11 lines · Ben Hutchings
commit
40aee729b350672c2550640622416a855e27938f('kconfig: fix default value for choice input') fixed some cases where kconfig would select the wrong option from a choice with a single valid option and thus enter an infinite loop.However, this broke the test for user input of the form 'N?', because when kconfig selects the single valid option the input is zero-length and the test will read the byte before the input buffer. If this happens to contain '?' (as it will in a mips build on Debian unstable today) then kconfig again enters an infinite loop.
Quoted 8 lines
Quoted 5 lines
Signed-off-by Ben Hutchings<[email protected]>Cc [email protected] [2.6.17+]---
Roman has failed to respond to this after 5 weeks and one reminder, so please take it directly.I applied this on 8th April, see
http://www.spinics.net/lists/linux-kbuild/msg04431.html.
Sorry, I forgot that.
Quoted 3 lines
Please check
linux-next before reposting patches next time, now I either have to rewind the kconfig branch or let Linus merge it with a duplicate commit :-(.
But the fix belongs in this release (2.6.39), not the next. So I looked in Linus' tree.
Ben.
Signature · 2 lines
Ben Hutchings Once a job is fouled up, anything done to improve it makes it worse.
Quoted 5 lines · Michal Marek
I applied this on 8th April, see
http://www.spinics.net/lists/linux-kbuild/msg04431.html. Please check linux-next before reposting patches next time, now I either have to rewind the kconfig branch or let Linus merge it with a duplicate commit :-(.
Merging the occasional duplicate is normal flow, don't worry about it. I'd much rather see the occasional smaller diffstat due to a diff that got applied in both sides than I'd see people rebasing just to avoid some silly duplicate.
It's if two branches consistently have many duplicates that I react, because it tends to be some systematic error (often excessive rebasing, but it could be some "ownership" argument too)
The "occasionally the same fix made it through two different trees" is not just normal, it's _expected_ in distributed development. If it never happens, that's a sign that people are serializing overmuch.
Linus