On Fri, Aug 10, 2012 at 2:18 PM, Markus Armbruster <arm...@redhat.com> wrote: > Gerd Hoffmann <kra...@redhat.com> writes: > >> Signed-off-by: Gerd Hoffmann <kra...@redhat.com> >> --- >> hw/msix.c | 5 ++--- >> 1 files changed, 2 insertions(+), 3 deletions(-) >> >> diff --git a/hw/msix.c b/hw/msix.c >> index 800fc32..04345f2 100644 >> --- a/hw/msix.c >> +++ b/hw/msix.c >> @@ -307,9 +307,8 @@ int msix_init_exclusive_bar(PCIDevice *dev, unsigned >> short nentries, >> return -EINVAL; >> } >> >> - if (asprintf(&name, "%s-msix", dev->name) == -1) { >> - return -ENOMEM; >> - } >> + name = g_malloc(sizeof(dev->name) + 5); >> + snprintf(name, sizeof(dev->name) + 5, "%s-msix", dev->name); >> >> memory_region_init(&dev->msix_exclusive_bar, name, >> MSIX_EXCLUSIVE_BAR_SIZE); > > What about g_strdup_printf()?
+1 In either case, free() below needs to be changed to g_free().