Bad pointer math results in memory corruption, death

Bug #237468 reported by LaMont Jones
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
star (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: star

In the buffer management code of star, a pointer is rounded, using integer math. Sadly, gcc changed sometime ago to properly do integer math, which results in incorrect results when the pointer has the sign bit on.

The attached patch corrects the issue.

lamont

Related branches

Revision history for this message
LaMont Jones (lamont) wrote :
Revision history for this message
Gordon Shumway (gordon-shumway) wrote :

I stumbled upon this patch purely by coincidence, after a year-long battle trying to make star work again.

For what it's worth, applying this made star work properly (read: it went from "The damn thing doesn't even start up" to "Wow, so it *does* work afterall!") again, which hasn't been the case for ages.

Can this please be applied to the package? Also a backport (to at least 8.04) would be wonderful.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package star - 1.5final-2ubuntu2

---------------
star (1.5final-2ubuntu2) lucid; urgency=low

  * include/schily/schily.h, lib/fexec.c, lib/libschily-mapvers,
    lib/libschily-mapvers.orig, libfind/find.c, lib/stdio/fgetline.c:
    fix FTBFS from conflicting getline() and fexecve().
  * star_buffer.c: fix pointer rounding error with newer gcc. (LP: #237468)
 -- Marc Deslauriers <email address hidden> Sun, 28 Mar 2010 20:08:08 -0400

Changed in star (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.