diff --git a/ChangeLog b/ChangeLog index 66a0245bb..ff982b3c6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-09-05 Vladimir Serbinenko + + * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value. + * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise. + (grub_set_datetime): Likewise. + 2012-09-05 Vladimir Serbinenko * grub-core/script/yylex.l: Ignore unused-function and sign-compare diff --git a/grub-core/disk/ieee1275/ofdisk.c b/grub-core/disk/ieee1275/ofdisk.c index b0aa7ec7b..c9535a0ff 100644 --- a/grub-core/disk/ieee1275/ofdisk.c +++ b/grub-core/disk/ieee1275/ofdisk.c @@ -178,7 +178,7 @@ scan (void) args.table = 0; args.nentries = 0; - if (IEEE1275_CALL_ENTRY_FN (&args) == -1) + if (IEEE1275_CALL_ENTRY_FN (&args) == -1 || args.catch_result) { grub_ieee1275_close (ihandle); return 0; diff --git a/grub-core/lib/ieee1275/datetime.c b/grub-core/lib/ieee1275/datetime.c index 1947135fe..879242938 100644 --- a/grub-core/lib/ieee1275/datetime.c +++ b/grub-core/lib/ieee1275/datetime.c @@ -89,7 +89,7 @@ grub_get_datetime (struct grub_datetime *datetime) grub_ieee1275_close (ihandle); - if (status == -1) + if (status == -1 || args.catch_result) return grub_error (GRUB_ERR_IO, "get-time failed"); datetime->year = args.year; @@ -148,7 +148,7 @@ grub_set_datetime (struct grub_datetime *datetime) grub_ieee1275_close (ihandle); - if (status == -1) + if (status == -1 || args.catch_result) return grub_error (GRUB_ERR_IO, "set-time failed"); return GRUB_ERR_NONE;