All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/2] xl: Fix adding additional config cmdline parameters
@ 2010-09-10 14:15 Andre Przywara
  0 siblings, 0 replies; only message in thread
From: Andre Przywara @ 2010-09-10 14:15 UTC (permalink / raw)
  To: Stefano Stabellini, Ian Campbell; +Cc: xen-devel

[-- Attachment #1: Type: text/plain, Size: 418 bytes --]

Hi,

when checking the size of the buffer we hold for additional
config parameters passed on the command line we should take the
size of the to-be-added string into account. While at it, rework
the implementation to be cleaner and safer.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>

Regards,
Andre.

-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany
Tel: +49 351 448-3567-12

[-- Attachment #2: xl_fix_parameter_adding.patch --]
[-- Type: text/x-patch, Size: 1580 bytes --]

commit bc37ac1bedc704293117b9e3e50f18042c4e8254
Author: Andre Przywara <andre.przywara@amd.com>
Date:   Fri Sep 10 14:26:55 2010 +0200

    Improve adding additional config cmdline parameters
    
    When checking the size of the buffer we hold for additional
    config parameters passed on the command line we should take the
    size of the to-be-added string into account. While at it, rework
    the implementation to be cleaner and safer.
    
    Signed-off-by: Andre Przywara <andre.przywara@amd.com>

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index f40de2b..8fe4e08 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -3251,21 +3251,17 @@ int main_create(int argc, char **argv)
         }
     }
 
-    memset(extra_config, 0, sizeof(extra_config));
-    while (optind < argc) {
-        if ((p = strchr(argv[optind], '='))) {
-            if (strlen(extra_config) + 1 < sizeof(extra_config)) {
-                if (strlen(extra_config))
-                    strcat(extra_config, "\n");
-                strcat(extra_config, argv[optind]);
-            }
+    extra_config[0] = '\0';
+    for (p = extra_config; optind < argc; optind++) {
+        if (strchr(argv[optind], '=') != NULL) {
+            p += snprintf(p, sizeof(extra_config) - (p - extra_config),
+                "%s\n", argv[optind]);
         } else if (!filename) {
             filename = argv[optind];
         } else {
             help("create");
             return 2;
         }
-        optind++;
     }
 
     memset(&dom_info, 0, sizeof(dom_info));

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

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

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2010-09-10 14:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-10 14:15 [PATCH 2/2] xl: Fix adding additional config cmdline parameters Andre Przywara

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.