Properly read data from stream in pki --pkcs7

This commit is contained in:
Tobias Brunner
2013-01-24 19:13:41 +01:00
parent 27a814b527
commit 4cd3fb788d
+6 -3
View File
@@ -31,13 +31,16 @@ static chunk_t read_from_stream(FILE *stream)
while (TRUE) while (TRUE)
{ {
len = fread(buf + total, 1, sizeof(buf) - total, stream); len = fread(buf + total, 1, sizeof(buf) - total, stream);
if (len < 0) if (len < (sizeof(buf) - total))
{
if (ferror(stream))
{ {
return chunk_empty; return chunk_empty;
} }
if (len == 0) if (feof(stream))
{ {
return chunk_clone(chunk_create(buf, total)); return chunk_clone(chunk_create(buf, total + len));
}
} }
total += len; total += len;
if (total == sizeof(buf)) if (total == sizeof(buf))