http: Check fread() result to avoid warning.

This will cause the length not to match the result if it happens, but the
client should interpret that as a server error.

Also a similar error in headless.
This commit is contained in:
Unknown W. Brackets 2018-06-17 10:56:42 -07:00
parent 4a92db4cd6
commit 6592c6222a
2 changed files with 5 additions and 2 deletions

View file

@ -163,7 +163,8 @@ static void RegisterDiscHandlers(http::Server *http, std::unordered_map<std::str
char *buf = new char[CHUNK_SIZE];
for (s64 pos = 0; pos < len; pos += CHUNK_SIZE) {
s64 chunklen = std::min(len - pos, (s64)CHUNK_SIZE);
fread(buf, chunklen, 1, fp);
if (fread(buf, chunklen, 1, fp) != 1)
break;
request.Out()->Push(buf, chunklen);
}
fclose(fp);

View file

@ -71,7 +71,9 @@ void HeadlessHost::SendDebugScreenshot(const u8 *pixbuf, u32 w, u32 h)
FILE *bmp = File::OpenCFile(comparisonScreenshot_, "rb");
if (bmp)
{
fread(&header, sizeof(header), 1, bmp);
if (fread(&header, sizeof(header), 1, bmp) != 1) {
SendOrCollectDebugOutput("Failed to read original screenshot header.\n");
}
fclose(bmp);
}