Properly read data from stream in pki --pkcs7

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