diff mbox

hw/arm/boot: fix uninitialized scalar variable warning reported by coverity

Message ID 1416799833-9972-1-git-send-email-zhang.zhanghailiang@huawei.com
State New
Headers show

Commit Message

Zhanghailiang Nov. 24, 2014, 3:30 a.m. UTC
Coverity reports the 'size' may be used uninitialized, but that can't happen,
because the caller has checked "if (binfo->dtb_filename || binfo->get_dtb)"
before call 'load_dtb'.

Here we simply remove the 'if (binfo->get_dtb)' to satisfy coverity.

Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
---
 hw/arm/boot.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peter Maydell Nov. 24, 2014, 10:03 a.m. UTC | #1
On 24 November 2014 at 03:30, zhanghailiang
<zhang.zhanghailiang@huawei.com> wrote:
> Coverity reports the 'size' may be used uninitialized, but that can't happen,
> because the caller has checked "if (binfo->dtb_filename || binfo->get_dtb)"
> before call 'load_dtb'.
>
> Here we simply remove the 'if (binfo->get_dtb)' to satisfy coverity.
>
> Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
> ---
>  hw/arm/boot.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/arm/boot.c b/hw/arm/boot.c
> index 0014c34..4f515b5 100644
> --- a/hw/arm/boot.c
> +++ b/hw/arm/boot.c
> @@ -352,7 +352,7 @@ static int load_dtb(hwaddr addr, const struct arm_boot_info *binfo,
>              goto fail;
>          }
>          g_free(filename);
> -    } else if (binfo->get_dtb) {
> +    } else {
>          fdt = binfo->get_dtb(binfo, &size);
>          if (!fdt) {
>              fprintf(stderr, "Board was unable to create a dtb blob\n");

If we do this I would prefer it if we add a clarifying note to the
doc comment for load_dtb:
 Must not be called unless have_dtb(binfo) is true.

thanks
-- PMM
Zhanghailiang Nov. 24, 2014, 10:32 a.m. UTC | #2
On 2014/11/24 18:03, Peter Maydell wrote:
> On 24 November 2014 at 03:30, zhanghailiang
> <zhang.zhanghailiang@huawei.com> wrote:
>> Coverity reports the 'size' may be used uninitialized, but that can't happen,
>> because the caller has checked "if (binfo->dtb_filename || binfo->get_dtb)"
>> before call 'load_dtb'.
>>
>> Here we simply remove the 'if (binfo->get_dtb)' to satisfy coverity.
>>
>> Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
>> ---
>>   hw/arm/boot.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/hw/arm/boot.c b/hw/arm/boot.c
>> index 0014c34..4f515b5 100644
>> --- a/hw/arm/boot.c
>> +++ b/hw/arm/boot.c
>> @@ -352,7 +352,7 @@ static int load_dtb(hwaddr addr, const struct arm_boot_info *binfo,
>>               goto fail;
>>           }
>>           g_free(filename);
>> -    } else if (binfo->get_dtb) {
>> +    } else {
>>           fdt = binfo->get_dtb(binfo, &size);
>>           if (!fdt) {
>>               fprintf(stderr, "Board was unable to create a dtb blob\n");
>
> If we do this I would prefer it if we add a clarifying note to the
> doc comment for load_dtb:
>   Must not be called unless have_dtb(binfo) is true.

Good idea! Will add this in v2, Thanks.
diff mbox

Patch

diff --git a/hw/arm/boot.c b/hw/arm/boot.c
index 0014c34..4f515b5 100644
--- a/hw/arm/boot.c
+++ b/hw/arm/boot.c
@@ -352,7 +352,7 @@  static int load_dtb(hwaddr addr, const struct arm_boot_info *binfo,
             goto fail;
         }
         g_free(filename);
-    } else if (binfo->get_dtb) {
+    } else {
         fdt = binfo->get_dtb(binfo, &size);
         if (!fdt) {
             fprintf(stderr, "Board was unable to create a dtb blob\n");