Re: [2.6.38-rc6] build:mkpiggy fixlet...

From: Daniel J Blueman
Date: Mon Feb 28 2011 - 20:52:44 EST


On 1 March 2011 00:25, Américo Wang <xiyou.wangcong@xxxxxxxxx> wrote:
> On Wed, Feb 23, 2011 at 09:33:59AM +0800, Daniel J Blueman wrote:
>>Ensure build doesn't silently continue despite read failure,
>>addressing a warning due to the unchecked call.
>>
>>Signed-off-by: Daniel J Blueman <daniel.blueman@xxxxxxxxx>
>>
>>diff --git a/arch/x86/boot/compressed/mkpiggy.c
>>b/arch/x86/boot/compressed/mkpiggy.c
>>index 646aa78..845a1f8 100644
>>--- a/arch/x86/boot/compressed/mkpiggy.c
>>+++ b/arch/x86/boot/compressed/mkpiggy.c
>>@@ -62,7 +62,12 @@ int main(int argc, char *argv[])
>>       if (fseek(f, -4L, SEEK_END)) {
>>               perror(argv[1]);
>>       }
>>-      fread(&olen, sizeof olen, 1, f);
>>+
>>+      if (fread(&olen, sizeof(olen), 1, f) != 1) {
>>+              perror(argv[1]);
>>+              return 1;
>
> You need to close the file here...

I could close the file here to be polite, but since the program is
exiting, the OS will close the file.

I added the error path in a way consistent with the following error
path - perhaps better than a more intrusive patch to handle everything
gracefully; it just fixes the bug (ie silent failure) and isn't a
cleanup.

>>+      }
>>+
>>       ilen = ftell(f);
>>       olen = getle32(&olen);
>>       fclose(f);
--
Daniel J Blueman
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/