Re: [Qemu-devel] [PATCH v2 03/11] hw/9pfs: Fix unchecked strdup() by converting to g_strdup()

2013-01-22 Thread Markus Armbruster
Markus Armbruster arm...@redhat.com writes:

 Stefan Hajnoczi stefa...@gmail.com writes:

 On Wed, Jan 16, 2013 at 06:32:12PM +0100, Markus Armbruster wrote:
 diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c
 index 6eab7f7..74155fb 100644
 --- a/hw/9pfs/virtio-9p-device.c
 +++ b/hw/9pfs/virtio-9p-device.c
 @@ -94,7 +94,7 @@ VirtIODevice *virtio_9p_init(DeviceState *dev, V9fsConf 
 *conf)
  exit(1);
  }
  
 -s-tag = strdup(conf-tag);
 +s-tag = g_strdup(conf-tag);
  s-ctx.uid = -1;
  
  s-ops = fse-ops;

 s-tag is leaked.  Want to send a follow-up patch to g_free() it?

 I'll give it a try.

Mind if I wait for Fred Konrad's virtio refactoring to settle?  It
should make the fix easier, and avoid getting into his way with
pointless conflicts.



Re: [Qemu-devel] [PATCH v2 03/11] hw/9pfs: Fix unchecked strdup() by converting to g_strdup()

2013-01-22 Thread KONRAD Frédéric

On 22/01/2013 11:23, Markus Armbruster wrote:

Markus Armbruster arm...@redhat.com writes:


Stefan Hajnoczi stefa...@gmail.com writes:


On Wed, Jan 16, 2013 at 06:32:12PM +0100, Markus Armbruster wrote:

diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c
index 6eab7f7..74155fb 100644
--- a/hw/9pfs/virtio-9p-device.c
+++ b/hw/9pfs/virtio-9p-device.c
@@ -94,7 +94,7 @@ VirtIODevice *virtio_9p_init(DeviceState *dev, V9fsConf *conf)
  exit(1);
  }
  
-s-tag = strdup(conf-tag);

+s-tag = g_strdup(conf-tag);
  s-ctx.uid = -1;
  
  s-ops = fse-ops;

s-tag is leaked.  Want to send a follow-up patch to g_free() it?

I'll give it a try.

Mind if I wait for Fred Konrad's virtio refactoring to settle?  It
should make the fix easier, and avoid getting into his way with
pointless conflicts.

Hi,

Maybe it's due to missing exit function?

Do you want me to add an exit function to g_free this conf-tag?

Fred



Re: [Qemu-devel] [PATCH v2 03/11] hw/9pfs: Fix unchecked strdup() by converting to g_strdup()

2013-01-22 Thread Markus Armbruster
KONRAD Frédéric fred.kon...@greensocs.com writes:

 On 22/01/2013 11:23, Markus Armbruster wrote:
 Markus Armbruster arm...@redhat.com writes:

 Stefan Hajnoczi stefa...@gmail.com writes:

 On Wed, Jan 16, 2013 at 06:32:12PM +0100, Markus Armbruster wrote:
 diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c
 index 6eab7f7..74155fb 100644
 --- a/hw/9pfs/virtio-9p-device.c
 +++ b/hw/9pfs/virtio-9p-device.c
 @@ -94,7 +94,7 @@ VirtIODevice *virtio_9p_init(DeviceState *dev, V9fsConf 
 *conf)
   exit(1);
   }
   -s-tag = strdup(conf-tag);
 +s-tag = g_strdup(conf-tag);
   s-ctx.uid = -1;
 s-ops = fse-ops;
 s-tag is leaked.  Want to send a follow-up patch to g_free() it?
 I'll give it a try.
 Mind if I wait for Fred Konrad's virtio refactoring to settle?  It
 should make the fix easier, and avoid getting into his way with
 pointless conflicts.
 Hi,

 Maybe it's due to missing exit function?

 Do you want me to add an exit function to g_free this conf-tag?

Yes, please!



Re: [Qemu-devel] [PATCH v2 03/11] hw/9pfs: Fix unchecked strdup() by converting to g_strdup()

2013-01-17 Thread Stefan Hajnoczi
On Wed, Jan 16, 2013 at 06:32:12PM +0100, Markus Armbruster wrote:
 diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c
 index 6eab7f7..74155fb 100644
 --- a/hw/9pfs/virtio-9p-device.c
 +++ b/hw/9pfs/virtio-9p-device.c
 @@ -94,7 +94,7 @@ VirtIODevice *virtio_9p_init(DeviceState *dev, V9fsConf 
 *conf)
  exit(1);
  }
  
 -s-tag = strdup(conf-tag);
 +s-tag = g_strdup(conf-tag);
  s-ctx.uid = -1;
  
  s-ops = fse-ops;

s-tag is leaked.  Want to send a follow-up patch to g_free() it?



Re: [Qemu-devel] [PATCH v2 03/11] hw/9pfs: Fix unchecked strdup() by converting to g_strdup()

2013-01-17 Thread Markus Armbruster
Stefan Hajnoczi stefa...@gmail.com writes:

 On Wed, Jan 16, 2013 at 06:32:12PM +0100, Markus Armbruster wrote:
 diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c
 index 6eab7f7..74155fb 100644
 --- a/hw/9pfs/virtio-9p-device.c
 +++ b/hw/9pfs/virtio-9p-device.c
 @@ -94,7 +94,7 @@ VirtIODevice *virtio_9p_init(DeviceState *dev, V9fsConf 
 *conf)
  exit(1);
  }
  
 -s-tag = strdup(conf-tag);
 +s-tag = g_strdup(conf-tag);
  s-ctx.uid = -1;
  
  s-ops = fse-ops;

 s-tag is leaked.  Want to send a follow-up patch to g_free() it?

I'll give it a try.



[Qemu-devel] [PATCH v2 03/11] hw/9pfs: Fix unchecked strdup() by converting to g_strdup()

2013-01-16 Thread Markus Armbruster
Signed-off-by: Markus Armbruster arm...@redhat.com
Reviewed-by: Eric Blake ebl...@redhat.com
---
 hw/9pfs/virtio-9p-device.c | 2 +-
 hw/9pfs/virtio-9p-local.c  | 8 
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c
index 6eab7f7..74155fb 100644
--- a/hw/9pfs/virtio-9p-device.c
+++ b/hw/9pfs/virtio-9p-device.c
@@ -94,7 +94,7 @@ VirtIODevice *virtio_9p_init(DeviceState *dev, V9fsConf *conf)
 exit(1);
 }
 
-s-tag = strdup(conf-tag);
+s-tag = g_strdup(conf-tag);
 s-ctx.uid = -1;
 
 s-ops = fse-ops;
diff --git a/hw/9pfs/virtio-9p-local.c b/hw/9pfs/virtio-9p-local.c
index 1136021..f1b1c83 100644
--- a/hw/9pfs/virtio-9p-local.c
+++ b/hw/9pfs/virtio-9p-local.c
@@ -46,7 +46,7 @@ static const char *local_mapped_attr_path(FsContext *ctx,
   const char *path, char *buffer)
 {
 char *dir_name;
-char *tmp_path = strdup(path);
+char *tmp_path = g_strdup(path);
 char *base_name = basename(tmp_path);
 
 /* NULL terminate the directory */
@@ -55,7 +55,7 @@ static const char *local_mapped_attr_path(FsContext *ctx,
 
 snprintf(buffer, PATH_MAX, %s/%s/%s/%s,
  ctx-fs_root, dir_name, VIRTFS_META_DIR, base_name);
-free(tmp_path);
+g_free(tmp_path);
 return buffer;
 }
 
@@ -130,7 +130,7 @@ static int local_create_mapped_attr_dir(FsContext *ctx, 
const char *path)
 {
 int err;
 char attr_dir[PATH_MAX];
-char *tmp_path = strdup(path);
+char *tmp_path = g_strdup(path);
 
 snprintf(attr_dir, PATH_MAX, %s/%s/%s,
  ctx-fs_root, dirname(tmp_path), VIRTFS_META_DIR);
@@ -139,7 +139,7 @@ static int local_create_mapped_attr_dir(FsContext *ctx, 
const char *path)
 if (err  0  errno == EEXIST) {
 err = 0;
 }
-free(tmp_path);
+g_free(tmp_path);
 return err;
 }
 
-- 
1.7.11.7