Bug 5018 - dialog broken: exits with assert in uClibc
Summary: dialog broken: exits with assert in uClibc
Status: RESOLVED FIXED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: 2012.02
Hardware: PC Linux
: P5 normal
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-04 07:55 UTC by Zoltan Kelemen
Modified: 2012-04-14 21:04 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 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