qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] block/vdi: Fix wrong size in conditionally used


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH] block/vdi: Fix wrong size in conditionally used memset, memcmp
Date: Fri, 04 Feb 2011 14:19:19 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101027 Lightning/1.0b1 Thunderbird/3.0.10

On 02/04/2011 02:01 PM, Stefan Weil wrote:
Error report from cppcheck:
block/vdi.c:122: error: Using sizeof for array given as function argument 
returns the size of pointer.
block/vdi.c:128: error: Using sizeof for array given as function argument 
returns the size of pointer.

Fix both by setting the correct size.

The buggy code is only used when QEMU is build without uuid support.
The bug is not critical, so there is no urgent need to apply it to
old versions of QEMU.

Cc: Kevin Wolf<address@hidden>
Signed-off-by: Stefan Weil<address@hidden>

Huh, I wouldn't have thought this was the case. I almost feel that doing a #define UUID_SIZE may be better because sizeof(typeof(v)) != sizeof(v) is weird even by C standards.

Regards,

Anthony Liguori

---
  block/vdi.c |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/block/vdi.c b/block/vdi.c
index 83b9c04..083266e 100644
--- a/block/vdi.c
+++ b/block/vdi.c
@@ -119,13 +119,13 @@ void uuid_unparse(const uuid_t uu, char *out);
  #if !defined(CONFIG_UUID)
  void uuid_generate(uuid_t out)
  {
-    memset(out, 0, sizeof(out));
+    memset(out, 0, sizeof(uuid_t));
  }

  int uuid_is_null(const uuid_t uu)
  {
      uuid_t null_uuid = { 0 };
-    return memcmp(uu, null_uuid, sizeof(uu)) == 0;
+    return memcmp(uu, null_uuid, sizeof(uuid_t)) == 0;
  }

  void uuid_unparse(const uuid_t uu, char *out)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]