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/