mirror of
git://git.proxmox.com/git/pve-qemu.git
synced 2025-01-19 14:04:11 +03:00
fix #4726: avoid superfluous check in vma code
The 'status' pointer is dereferenced regardless of the NULL check, i.e. 'status->closed' is accessed after the branch with the check. Since all callers pass in the address of a struct on the stack, the pointer can never be NULL. Remove the superfluous check and add an assert instead. Signed-off-by: Fiona Ebner <f.ebner@proxmox.com> Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
parent
5bdf1bebba
commit
c2abb73df7
@ -16,10 +16,10 @@ Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
|
|||||||
block/meson.build | 2 +
|
block/meson.build | 2 +
|
||||||
meson.build | 5 +
|
meson.build | 5 +
|
||||||
vma-reader.c | 870 ++++++++++++++++++++++++++++++++++++++++++++
|
vma-reader.c | 870 ++++++++++++++++++++++++++++++++++++++++++++
|
||||||
vma-writer.c | 818 +++++++++++++++++++++++++++++++++++++++++
|
vma-writer.c | 817 +++++++++++++++++++++++++++++++++++++++++
|
||||||
vma.c | 901 ++++++++++++++++++++++++++++++++++++++++++++++
|
vma.c | 901 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
vma.h | 150 ++++++++
|
vma.h | 150 ++++++++
|
||||||
6 files changed, 2746 insertions(+)
|
6 files changed, 2745 insertions(+)
|
||||||
create mode 100644 vma-reader.c
|
create mode 100644 vma-reader.c
|
||||||
create mode 100644 vma-writer.c
|
create mode 100644 vma-writer.c
|
||||||
create mode 100644 vma.c
|
create mode 100644 vma.c
|
||||||
@ -939,10 +939,10 @@ index 0000000000..d0b6721812
|
|||||||
+
|
+
|
||||||
diff --git a/vma-writer.c b/vma-writer.c
|
diff --git a/vma-writer.c b/vma-writer.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000..126b296647
|
index 0000000000..a466652a5d
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/vma-writer.c
|
+++ b/vma-writer.c
|
||||||
@@ -0,0 +1,818 @@
|
@@ -0,0 +1,817 @@
|
||||||
+/*
|
+/*
|
||||||
+ * VMA: Virtual Machine Archive
|
+ * VMA: Virtual Machine Archive
|
||||||
+ *
|
+ *
|
||||||
@ -1517,17 +1517,16 @@ index 0000000000..126b296647
|
|||||||
+ int i;
|
+ int i;
|
||||||
+
|
+
|
||||||
+ g_assert(vmaw != NULL);
|
+ g_assert(vmaw != NULL);
|
||||||
|
+ g_assert(status != NULL);
|
||||||
+
|
+
|
||||||
+ if (status) {
|
+ status->status = vmaw->status;
|
||||||
+ status->status = vmaw->status;
|
+ g_strlcpy(status->errmsg, vmaw->errmsg, sizeof(status->errmsg));
|
||||||
+ g_strlcpy(status->errmsg, vmaw->errmsg, sizeof(status->errmsg));
|
+ for (i = 0; i <= 255; i++) {
|
||||||
+ for (i = 0; i <= 255; i++) {
|
+ status->stream_info[i] = vmaw->stream_info[i];
|
||||||
+ status->stream_info[i] = vmaw->stream_info[i];
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ uuid_unparse_lower(vmaw->uuid, status->uuid_str);
|
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
|
+ uuid_unparse_lower(vmaw->uuid, status->uuid_str);
|
||||||
|
+
|
||||||
+ status->closed = vmaw->closed;
|
+ status->closed = vmaw->closed;
|
||||||
+
|
+
|
||||||
+ return vmaw->status;
|
+ return vmaw->status;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user