qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] hw/9pfs/virtio-9p-local.c: use snprintf() instead of sprintf()
@ 2014-02-03 10:00 Chen Gang
  2014-02-03 10:34 ` Daniel P. Berrange
  0 siblings, 1 reply; 38+ messages in thread
From: Chen Gang @ 2014-02-03 10:00 UTC (permalink / raw)
  To: aliguori, aneesh.kumar; +Cc: QEMU Developers

We can not assume "'path' + 'ctx->fs_root'" must be less than MAX_PATH,
so need use snprintf() instead of sprintf().

And also recommend to use ARRAY_SIZE instead of hard code macro for an
array size in snprintf().


Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
---
 hw/9pfs/virtio-9p-local.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/hw/9pfs/virtio-9p-local.c b/hw/9pfs/virtio-9p-local.c
index fc93e9e..44a0380 100644
--- a/hw/9pfs/virtio-9p-local.c
+++ b/hw/9pfs/virtio-9p-local.c
@@ -159,7 +159,7 @@ static int local_create_mapped_attr_dir(FsContext *ctx, const char *path)
     char attr_dir[PATH_MAX];
     char *tmp_path = g_strdup(path);
-    snprintf(attr_dir, PATH_MAX, "%s/%s/%s",
+    snprintf(attr_dir, ARRAY_SIZE(attr_dir), "%s/%s/%s",
              ctx->fs_root, dirname(tmp_path), VIRTFS_META_DIR);
      err = mkdir(attr_dir, 0700);
@@ -898,7 +898,8 @@ static int local_remove(FsContext *ctx, const char *path)
          * directory
          */
         if (S_ISDIR(stbuf.st_mode)) {
-            sprintf(buffer, "%s/%s/%s", ctx->fs_root, path, VIRTFS_META_DIR);
+            snprintf(buffer, ARRAY_SIZE(buffer), "%s/%s/%s",
+                     ctx->fs_root, path, VIRTFS_META_DIR);
             err = remove(buffer);
             if (err < 0 && errno != ENOENT) {
                 /*
@@ -1033,8 +1034,8 @@ static int local_unlinkat(FsContext *ctx, V9fsPath *dir,
              * If directory remove .virtfs_metadata contained in the
              * directory
              */
-            sprintf(buffer, "%s/%s/%s", ctx->fs_root,
-                    fullname.data, VIRTFS_META_DIR);
+            snprintf(buffer, ARRAY_SIZE(buffer), "%s/%s/%s", ctx->fs_root,
+                     fullname.data, VIRTFS_META_DIR);
             ret = remove(buffer);
             if (ret < 0 && errno != ENOENT) {
                 /*
-- 
1.7.11.7

^ permalink raw reply related	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2014-03-04  1:00 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-03 10:00 [Qemu-devel] [PATCH] hw/9pfs/virtio-9p-local.c: use snprintf() instead of sprintf() Chen Gang
2014-02-03 10:34 ` Daniel P. Berrange
2014-02-03 10:39   ` Chen Gang
2014-02-04 11:02     ` Chen Gang
2014-02-04 11:06       ` Daniel P. Berrange
2014-02-04 11:22         ` Chen Gang
2014-02-04 16:18           ` Aneesh Kumar K.V
2014-02-04 23:44             ` Chen Gang
2014-02-15  9:21               ` Chen Gang
2014-02-23  4:48                 ` [Qemu-devel] [PATCH] hw/9pfs: use g_strdup_printf() instead of PATH_MAX limitation Chen Gang
2014-02-23  5:18                   ` Chen Gang
2014-02-24  9:22                   ` Markus Armbruster
2014-02-24 11:16                     ` Gang Chen
2014-02-24 12:52                       ` Markus Armbruster
2014-02-27 23:35                         ` Chen Gang
2014-03-01 17:33                           ` [Qemu-devel] [PATCH 0/3] hw/9pfs: fix 3 issues which related with path string Chen Gang
2014-03-01 17:34                             ` [Qemu-devel] [PATCH 1/3] hw/9pfs/virtio-9p-local.c: move v9fs_string_free() to below "err_out:" Chen Gang
2014-03-01 17:35                               ` [Qemu-devel] [PATCH 2/3] hw/9pfs/virtio-9p-local.c: use snprintf() instead of sprintf() Chen Gang
2014-03-01 17:36                                 ` [Qemu-devel] [PATCH 3/3] hw/9pfs: use g_strdup_printf() instead of PATH_MAX limitation Chen Gang
2014-03-03  8:34                                   ` Markus Armbruster
2014-03-03 10:51                                     ` Chen Gang
2014-03-03 16:22                                   ` Aneesh Kumar K.V
2014-03-03 19:29                                     ` Aneesh Kumar K.V
2014-03-04  0:27                                       ` Chen Gang
2014-03-03  8:34                                 ` [Qemu-devel] [PATCH 2/3] hw/9pfs/virtio-9p-local.c: use snprintf() instead of sprintf() Markus Armbruster
2014-03-03 10:54                                   ` Chen Gang
2014-03-03 14:42                                     ` Markus Armbruster
2014-03-04  0:38                                       ` Chen Gang
2014-03-03 15:33                                     ` Aneesh Kumar K.V
2014-03-03 15:33                                 ` Aneesh Kumar K.V
2014-03-03 15:29                               ` [Qemu-devel] [PATCH 1/3] hw/9pfs/virtio-9p-local.c: move v9fs_string_free() to below "err_out:" Aneesh Kumar K.V
2014-03-04  0:11                                 ` Chen Gang
2014-03-03 17:43                             ` [Qemu-devel] [PATCH 0/3] hw/9pfs: fix 3 issues which related with path string Eric Blake
2014-03-04  0:59                               ` Chen Gang
2014-02-04 13:09         ` [Qemu-devel] [PATCH] hw/9pfs/virtio-9p-local.c: use snprintf() instead of sprintf() Eric Blake
2014-02-04 12:25       ` Markus Armbruster
2014-02-04 13:12         ` Eric Blake
2014-02-04 13:43           ` Chen Gang

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).