2025-07-21 06:50 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002983Spring engineGeneralpublic2012-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.
Checked infolog.txt for Errors
Attached Files

-Relationships
+Relationships

-Notes

~0008346

SirMaverick (reporter)

Last edited: 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)

https://github.com/spring/spring/commit/58c8706aeb02fd58c1fc8c6a0ac36b68d95302b2

~0008350

SirMaverick (reporter)

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)

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.
+Notes

-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
+Issue History