]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Fix segfault when the AUTO keyword is used in the config file
authorDoug Ledford <dledford@redhat.com>
Mon, 11 Jan 2010 20:38:14 +0000 (15:38 -0500)
committerNeilBrown <neilb@suse.de>
Mon, 18 Jan 2010 21:50:26 +0000 (10:50 +1300)
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: NeilBrown <neilb@suse.de>
config.c

index c962afdaaed829d0122550166ce0f072d9ccea97..07a12dcb3ff6f98d358c964378a6a3a6f4445879 100644 (file)
--- a/config.c
+++ b/config.c
@@ -677,12 +677,21 @@ void homehostline(char *line)
 static char *auto_options = NULL;
 void autoline(char *line)
 {
+       char *w;
+
        if (auto_options) {
                fprintf(stderr, Name ": AUTO line may only be give once."
                        "  Subsequent lines ignored\n");
                return;
        }
-       auto_options = line;            
+
+       auto_options = dl_strdup(line);
+       dl_init(auto_options);
+
+       for (w=dl_next(line); w != line ; w=dl_next(w)) {
+               char *w2 = dl_strdup(w);
+               dl_add(auto_options, w2);
+       }
 }
 
 int loaded = 0;