From: Michael Roth <mdroth@linux.vnet.ibm.com>
To: qemu-devel@nongnu.org
Cc: qemu-stable@nongnu.org
Subject: [Qemu-devel] [PATCH 04/26] qom/object: Don't poll cast cache for NULL objects
Date: Wed, 12 Jun 2013 16:41:16 -0500 [thread overview]
Message-ID: <1371073298-14519-5-git-send-email-mdroth@linux.vnet.ibm.com> (raw)
In-Reply-To: <1371073298-14519-1-git-send-email-mdroth@linux.vnet.ibm.com>
From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
object_dynamic_cast_assert used to be tolerant of NULL objects and not
assert. It's clear from the implementation that this is the expected
behavior.
The preceding check of the cast cache dereferences obj however causing
a segfault. Fix by conditionalizing the cast cache logic on obj being
non-null.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Message-id: 8e2bef6a55753869c50bfa32226f7fcf0439ca62.1369183592.git.peter.crosthwaite@xilinx.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 95916abcf428fb03644468c7fbce64356c6483c0)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
---
qom/object.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/qom/object.c b/qom/object.c
index ec88231..803b94b 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -442,7 +442,7 @@ Object *object_dynamic_cast_assert(Object *obj, const char *typename,
int i;
Object *inst;
- for (i = 0; i < OBJECT_CLASS_CAST_CACHE; i++) {
+ for (i = 0; obj && i < OBJECT_CLASS_CAST_CACHE; i++) {
if (obj->class->cast_cache[i] == typename) {
goto out;
}
@@ -458,7 +458,7 @@ Object *object_dynamic_cast_assert(Object *obj, const char *typename,
assert(obj == inst);
- if (obj == inst) {
+ if (obj && obj == inst) {
for (i = 1; i < OBJECT_CLASS_CAST_CACHE; i++) {
obj->class->cast_cache[i - 1] = obj->class->cast_cache[i];
}
--
1.7.9.5
next prev parent reply other threads:[~2013-06-12 21:45 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-12 21:41 [Qemu-devel] Patch Round-up for stable 1.5.1, freeze on 2013-06-19 Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 01/26] hw/9pfs: Fix segfault with 9p2000.u Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 02/26] hw/9pfs: use O_NOFOLLOW for mapped readlink operation Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 03/26] rtl8139: flush queued packets when RxBufPtr is written Michael Roth
2013-06-12 21:41 ` Michael Roth [this message]
2013-06-12 21:41 ` [Qemu-devel] [PATCH 05/26] xen: simplify xen_enabled Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 06/26] main_loop: do not set nonblocking if xen_enabled() Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 07/26] xen_machine_pv: do not create a dummy CPU in machine->init Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 08/26] chardev: fix "info chardev" output Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 09/26] ide: Set BSY bit during FLUSH Michael Roth
2013-07-03 20:10 ` Alex Williamson
2013-07-03 20:16 ` Michael Roth
2013-07-03 21:51 ` Alex Williamson
2013-08-12 22:43 ` Michael Roth
2013-08-13 0:12 ` Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 10/26] Revert "roms: switch oldnoconfig to olddefconfig" Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 11/26] update seabios to release 1.7.2.2 Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 12/26] target-i386: fix abort on bad PML4E/PDPTE/PDE/PTE addresses Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 13/26] Remove OSS support for OpenBSD Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 14/26] xen: start PCI hole at 0xe0000000 (same as pc_init1 and qemu-xen-traditional) Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 15/26] do not check pointers after dereferencing them Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 16/26] qdev: fix get_fw_dev_path to support to add nothing to fw_dev_path Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 17/26] host-libusb: Correct test for USB packet state Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 18/26] Fix usage of USB_DEV_FLAG_IS_HOST flag Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 19/26] vmxnet3: fix NICState cleanup Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 20/26] ui/gtk.c: Fix *BSD build of Gtk+ UI Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 21/26] s390x/css: Fix concurrent sense Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 22/26] virtio-ccw: Fix unsetting of indicators Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 23/26] xilinx_axidma: Do not set DMA .notify to NULL after notify Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 24/26] qemu-char: don't issue CHR_EVENT_OPEN in a BH Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 25/26] target-i386: Fix aflag logic for CODE64 and the 0x67 prefix Michael Roth
2013-06-12 21:41 ` [Qemu-devel] [PATCH 26/26] q35: set fw_name Michael Roth
2013-06-13 9:16 ` [Qemu-devel] Patch Round-up for stable 1.5.1, freeze on 2013-06-19 Stefan Hajnoczi
2013-06-13 12:27 ` Paolo Bonzini
2013-06-13 12:36 ` Andreas Färber
2013-06-13 13:47 ` mdroth
2013-06-17 22:29 ` mdroth
2013-06-13 12:36 ` Frederic Konrad
2013-06-13 12:44 ` Frederic Konrad
2013-06-13 13:21 ` Andreas Färber
2013-06-13 13:29 ` Frederic Konrad
2013-06-13 14:10 ` mdroth
2013-06-17 22:56 ` mdroth
2013-06-17 23:04 ` Richard Henderson
2013-06-17 23:17 ` mdroth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1371073298-14519-5-git-send-email-mdroth@linux.vnet.ibm.com \
--to=mdroth@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).