MantisBT

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002983Spring engineGeneralpublic2012-02-27 07:072012-02-27 23:16
ReporterSirMaverick 
Assigned Toabma 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
Product Version86.0 
Target VersionFixed in Version 
Summary0002983: zlib 1.2.6 breaks PoolArchive
Descriptionzlib changed recently the behavior of gzeof. It now does only return true if you read past the end of the file. The code in PoolArchive assumes that it already returns true if you're just hit the end.
Additional Informationhttps://github.com/madler/zlib/commit/98f5779f4257682ba9b5fc490557618e3f15f84b [^]

TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0008346)
SirMaverick (reporter)
2012-02-27 07:07
edited on: 2012-02-27 07:21

possible fix: move the gzeof test inside the first read block

https://github.com/1231e7b84a5de93a/spring/commit/6c8fe6257b337e748e76e78b34d5dfaa167e0fb1 [^]

Not sure how to catch different errors.

(0008349)
jK (developer)
2012-02-27 20:20

https://github.com/spring/spring/commit/58c8706aeb02fd58c1fc8c6a0ac36b68d95302b2 [^]
(0008350)
SirMaverick (reporter)
2012-02-27 21:41

Current master (86.0) does not work with latest zlib.

58c8706aeb02fd58c1fc8c6a0ac36b68d95302b2 does not change the logic concerning gzeof.

At end of file: new gzeof (zlib 1.2.6.) will return false. Next gz_really_read will fail and break will leave the while loop without setting isOpen.

The gzeof call must happen after the first read fails (read beyond file end)
(0008351)
abma (administrator)
2012-02-27 23:16

thanks, your fix is fine. (tested with LD_PRELOAD=/path/to/libz.so.1.2.6)

the other gz_really_read() calls should return != 0 if they read beyond the end of the file.

- Issue History
Date Modified Username Field Change
2012-02-27 07:07 SirMaverick New Issue
2012-02-27 07:07 SirMaverick Note Added: 0008346
2012-02-27 07:21 SirMaverick Note Edited: 0008346
2012-02-27 20:20 jK Note Added: 0008349
2012-02-27 20:20 jK Status new => resolved
2012-02-27 20:20 jK Resolution open => fixed
2012-02-27 20:20 jK Assigned To => jK
2012-02-27 21:41 SirMaverick Note Added: 0008350
2012-02-27 21:41 SirMaverick Status resolved => feedback
2012-02-27 21:41 SirMaverick Resolution fixed => reopened
2012-02-27 22:54 abma Status feedback => assigned
2012-02-27 22:54 abma Assigned To jK => abma
2012-02-27 23:16 abma Note Added: 0008351
2012-02-27 23:16 abma Status assigned => resolved
2012-02-27 23:16 abma Resolution reopened => fixed


Copyright © 2000 - 2013 MantisBT Team
Powered by Mantis Bugtracker