From de87bfafccec85f870d5f703b2a763fc064d2573 Mon Sep 17 00:00:00 2001
From: Tay Ray Chuan <rctay89@gmail.com>
Date: Tue, 12 Feb 2013 22:40:23 +0800
Subject: [PATCH 2/2] client/ASYNC_VERIFY::verify_chunk: check ferror() after
a fread()/fwrite()
---
client/async_file.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/client/async_file.cpp b/client/async_file.cpp
index e8f1110..717812d 100644
a
|
b
|
int ASYNC_VERIFY::verify_chunk() { |
260 | 260 | return 1; |
261 | 261 | } else { |
262 | 262 | size_t m = fwrite(buf, 1, n, out); |
263 | | if (m != n) { |
| 263 | if (m != n || ferror(out)) { |
264 | 264 | // write failed |
265 | 265 | // |
266 | 266 | error(ERR_FWRITE); |
… |
… |
int ASYNC_VERIFY::verify_chunk() { |
270 | 270 | } |
271 | 271 | } else { |
272 | 272 | n = fread(buf, 1, BUFSIZE, in); |
273 | | if (!n) { |
| 273 | if (!n || ferror(in)) { |
274 | 274 | fclose(in); |
275 | 275 | finish(); |
276 | 276 | return 1; |