From 8f5fb91682f8e3deff03dec161a947276e66b4a8 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Wed, 17 Aug 2011 21:16:37 +1000 Subject: [PATCH] Fix warning. --- liblrzip.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/liblrzip.c b/liblrzip.c index 7871ad3..06b81f8 100644 --- a/liblrzip.c +++ b/liblrzip.c @@ -587,8 +587,10 @@ bool lrzip_compress_full(void *dest, unsigned long *dest_len, const void *source fd = fileno(d); if (fstat(fd, &st)) goto error; *dest_len = st.st_size; - fread(dest, sizeof(char), st.st_size, d); - if (ferror(d)) goto error; + if (unlikely(fread(dest, sizeof(char), st.st_size, d) != st.st_size)) + goto error; + if (unlikely(ferror(d))) + goto error; fclose(s); fclose(d); return true; @@ -626,8 +628,10 @@ bool lrzip_decompress(void *dest, unsigned long *dest_len, const void *source, u fd = fileno(d); if (fstat(fd, &st)) goto error; *dest_len = st.st_size; - fread(dest, sizeof(char), st.st_size, d); - if (ferror(d)) goto error; + if (unlikely(fread(dest, sizeof(char), st.st_size, d) != st.st_size)) + goto error; + if (unlikely(ferror(d))) + goto error; fclose(s); fclose(d); return true;