[Bug 2689] New: unlzma loops
bugzilla at busybox.net
bugzilla at busybox.net
Fri Oct 8 21:06:36 UTC 2010
https://bugs.busybox.net/show_bug.cgi?id=2689
Summary: unlzma loops
Product: Busybox
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: minor
Priority: P5
Component: Other
AssignedTo: unassigned at busybox.net
ReportedBy: dborca at yahoo.com
CC: busybox-cvs at busybox.net
Estimated Hours: 0.0
Hi,
I just noticed that there's a wierd condition in a nested loop inside
decompress_unlzma.c. To be more precise, the lzma main decoding looks like
this:
while (global_pos + buffer_pos < header.dst_size) {
...
do {
...
} while (len != 0 && buffer_pos < header.dst_size);
}
I'm interested in the do { } while condition (busybox-1.17.2.tar.bz2,
archival/libunarchive/decompress_unlzma.c, around line 449). That code
is in busybox since the beginning of time.
buffer_pos is guaranteed to be inside [0 .. header.dict_size) interval
at all times, and its comparison against header.dst_size seems meaningless.
The total number of written bytes is given by global_pos + buffer_pos;
(see main while loop).
--
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the busybox-cvs
mailing list