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

[Xen-devel] [PATCH 4/7] merge review: no malloc failure checks.



qemu_malloc() will never return errors.  It will abort instead.
Thus no checks for failure are needed.

Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
---
 hw/xen_backend.c |   14 ++++++++++----
 hw/xenfb.c       |    2 --
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/hw/xen_backend.c b/hw/xen_backend.c
index 56b001f..bb02634 100644
--- a/hw/xen_backend.c
+++ b/hw/xen_backend.c
@@ -67,9 +67,17 @@ char *xenstore_read_str(const char *base, const char *node)
 {
     char abspath[XEN_BUFSIZE];
     unsigned int len;
+    char *str, *ret = NULL;
 
     snprintf(abspath, sizeof(abspath), "%s/%s", base, node);
-    return xs_read(xenstore, 0, abspath, &len);
+    str = xs_read(xenstore, 0, abspath, &len);
+    if (str != NULL) {
+        /* move to qemu-allocated memory to make sure
+         * callers can savely qemu_free() stuff. */
+        ret = qemu_strdup(str);
+        free(str);
+    }
+    return ret;
 }
 
 int xenstore_write_int(const char *base, const char *node, int ival)
@@ -184,8 +192,6 @@ static struct XenDevice *xen_be_get_xendev(const char 
*type, int dom, int dev,
 
     /* init new xendev */
     xendev = qemu_mallocz(ops->size);
-    if (!xendev)
-        return NULL;
     xendev->type  = type;
     xendev->dom   = dom;
     xendev->dev   = dev;
@@ -519,7 +525,7 @@ static int xenstore_scan(const char *type, int dom, struct 
XenDevOps *ops)
            continue;
        xen_be_check_state(xendev);
     }
-    qemu_free(dev);
+    free(dev);
     return 0;
 }
 
diff --git a/hw/xenfb.c b/hw/xenfb.c
index 8336c82..1764ac2 100644
--- a/hw/xenfb.c
+++ b/hw/xenfb.c
@@ -483,8 +483,6 @@ static int xenfb_map_fb(struct XenFB *xenfb)
 
     pgmfns = qemu_mallocz(sizeof(unsigned long) * n_fbdirs);
     fbmfns = qemu_mallocz(sizeof(unsigned long) * xenfb->fbpages);
-    if (!pgmfns || !fbmfns)
-       goto out;
 
     xenfb_copy_mfns(mode, n_fbdirs, pgmfns, pd);
     map = xc_map_foreign_pages(xen_xc, xenfb->c.xendev.dom,
-- 
1.6.2.2


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.