Hi!
I guess you could add a guard for the #nextInto: message send in GZipReadStream>>#nextString when the length is 0. But I haven't tried.

Sven


I think the problem is that this method supposes n >= 1:

InflateStream>>
next: n into: buffer startingAt: startIndex
"Read n objects into the given collection.�
Return aCollection or a partial copy if less than
n elements have been read."
| c numRead count |
numRead := 0.
["Force decompression if necessary"
(c := self next) == nil�
ifTrue:[^buffer copyFrom: 1 to: startIndex+numRead-1].
"Store the first value which provoked decompression"
buffer at: startIndex + numRead put: c.
numRead := numRead + 1.
"After collection has been filled copy as many objects as possible"
count := (readLimit - position) min: (n - numRead).
buffer�
replaceFrom: startIndex + numRead�
to: startIndex + numRead + count - 1�
with: collection�
startingAt: position+1.
position := position + count.
numRead := numRead + count.
numRead = n] whileFalse.
^buffer�

Martin