Bug 2863 - base64 help broken in "make menuconfig"
Summary: base64 help broken in "make menuconfig"
Status: RESOLVED FIXED
Alias: None
Product: Busybox
Classification: Unclassified
Component: Other (show other bugs)
Version: unspecified
Hardware: PC Linux
: P3 normal
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-28 15:55 UTC by Sergey Gusarov
Modified: 2011-02-07 01:20 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey Gusarov 2010-11-28 15:55:39 UTC
Steps to reproduce:

cd busybox-1.18.0
make defconfig
make menuconfig
cd Coreutils -> base64 -> Help

No help and exit is not possible.
Comment 1 Denys Vlasenko 2010-11-28 19:09:22 UTC
Cannot reproduce.
Selecting <Help> on base64 shows the following window:

CONFIG_BASE64:

Base64 encode and decode

Symbol: BASE64 [=y]
Prompt: base64
  Defined at coreutils/Config.in:99
  Location:
    -> Coreutils


With  < Exit >  button at the bottom.
Comment 2 Sergey Gusarov 2010-11-29 18:25:07 UTC
I should add that it appears to any of the applet in coreutils.
When i select <Help> on base64(on any applet), i see root Coreutils menu, not help. And exit button does not change anything.
Busybox 1.17.4, 1.15.3 is also subject to this.

My system Arch Linux i686. Maybe I need to provide more information?
Comment 3 Denys Vlasenko 2010-11-30 08:08:20 UTC
Since I cannot reproduce it, I can't fix it.
You need to dig deeper.
Comment 4 Denys Vlasenko 2010-12-20 00:18:45 UTC
Closing. Please reopen if you have additional data which helps to track the bug down.
Comment 5 Krzysztof Halasa 2011-02-06 22:30:35 UTC
This problem seems to be caused by buf[4096] (file scripts/kconfig/mconf.c) overflow. Function cprint() seems to write past end of buf - overwriting, for example, do_resize variable, thus causing the dialog to fail.

Changing to buf[8192] seems to help for now, though I'm not exactly sure it's the best way to fix it. Perhaps some improvements can be imported from Linux' kconfig.
Comment 6 Denys Vlasenko 2011-02-07 01:20:29 UTC
(In reply to comment #5)
> This problem seems to be caused by buf[4096] (file scripts/kconfig/mconf.c)
> overflow. Function cprint() seems to write past end of buf - overwriting, for
> example, do_resize variable, thus causing the dialog to fail.
> 
> Changing to buf[8192] seems to help for now,

Committing to git, thanks!


> though I'm not exactly sure it's
> the best way to fix it. Perhaps some improvements can be imported from Linux'
> kconfig.

Yes, just porting to newer kernel machinery is the proper fix.