Bug 5018

Summary: dialog broken: exits with assert in uClibc
Product: buildroot Reporter: Zoltan Kelemen <zkdigisec>
Component: OtherAssignee: unassigned
Status: RESOLVED FIXED    
Severity: normal CC: buildroot
Priority: P5    
Version: 2012.02   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Host: Target:
Build:

Description Zoltan Kelemen 2012-04-04 07:55:28 UTC
dialog can easily be made do abort with an assert, leaving the terminal in an undefined state.

For example:
1. Start dialog: "dialog --yesno test 0 0"
2. Hit the right arrow key

Results in:
dialog: libc/misc/ctype/ctype.c: 320: toupper: Assertion '...' failed. Aborted

The reason is that dialog calls the uClibc function toupper() with a character code > 255, resulting in an assert and fatal exit.

This could be seen as a problem in dialog.

But it could also be fixed in buildroot by changing the default uClibc configuration in uClibc-0.9.33.config:

-UCLIBC_HAS_CTYPE_ENFORCED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
Comment 1 Peter Korsgaard 2012-04-14 21:04:50 UTC
defconfigs changed to use UCLIBC_HAS_CTYPE_CHECKED in git by Gustavoz