qed: don't pass NULL to memcpy
authorPavel Borzenkov <pavel.borzenkov@gmail.com>
Tue, 18 Oct 2011 17:17:35 +0000 (21:17 +0400)
committerStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Wed, 26 Oct 2011 12:36:35 +0000 (13:36 +0100)
Spotted by Clang Analyzer

[Note this memcpy call has always been safe because the length will be 0
when the pointer is NULL]

Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
block/qed.c

index e87dc4d..7fab155 100644 (file)
@@ -1425,8 +1425,10 @@ static int bdrv_qed_change_backing_file(BlockDriverState *bs,
     memcpy(buffer, &le_header, sizeof(le_header));
     buffer_len = sizeof(le_header);
 
-    memcpy(buffer + buffer_len, backing_file, backing_file_len);
-    buffer_len += backing_file_len;
+    if (backing_file) {
+        memcpy(buffer + buffer_len, backing_file, backing_file_len);
+        buffer_len += backing_file_len;
+    }
 
     /* Write new header */
     ret = bdrv_pwrite_sync(bs->file, 0, buffer, buffer_len);