bc uses uninitialized memory
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
bc (Debian) |
Fix Released
|
Unknown
|
|||
bc (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Precise |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
This is http://
bc depends on uninitialized mem:
echo "e(1)" | MALLOC_PERTURB_=1 bc -l
echo "e(1)" | MALLOC_PERTURB_=0 bc -l
2.7182818284590
This fixes it:
--- storage.c.orig 2010-12-21 19:43:14.663540110 +0000
+++ storage.c 2010-12-21 19:42:01.392540111 +0000
@@ -99,6 +99,7 @@
{
f = &functions[indx];
f->f_defined = FALSE;
+ f->f_void = FALSE;
f->f_body = (char *) bc_malloc (BC_START_SIZE);
IMPACT:
"bc" mathlib routines fail when running under the MALLOC_PERTURB_ environment used by some paranoid people.
TEST CASE:
The command 'echo "e(1)" | MALLOC_PERTURB_=1 bc -l' should return '2.718281828459
REGRESSION POTENTIAL:
Extremely low -- this fix is included in later package versions and fixes the problem.
Related branches
no longer affects: | bc |
Changed in bc (Ubuntu): | |
status: | New → Fix Released |
Changed in bc (Debian): | |
status: | Unknown → Fix Released |
Hello Kees, or anyone else affected,
Accepted bc into precise-proposed. The package will build now and be available at http:// launchpad. net/ubuntu/ +source/ bc/1.06. 95-2ubuntu1 in a few hours, and then in the -proposed repository.
Please help us by testing this new package. See https:/ /wiki.ubuntu. com/Testing/ EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification- failed. In either case, details of your testing will help us make a better decision.
Further information regarding the verification process can be found at https:/ /wiki.ubuntu. com/QATeam/ PerformingSRUVe rification . Thank you in advance!