]> git.tuebingen.mpg.de Git - dss.git/blobdiff - dss.c
dss.c: Fix initialization of argv[].
[dss.git] / dss.c
diff --git a/dss.c b/dss.c
index 968ba597d74eb4fbcd03804f7e0cdd3fa4cab841..7c8b54fc6a0502d0a2ab983b5bc8ff3d33e0bda2 100644 (file)
--- a/dss.c
+++ b/dss.c
@@ -64,7 +64,7 @@ enum hook_status snapshot_removal_status;
 
 
 DEFINE_DSS_ERRLIST;
-static const char const *hook_status_description[] = {HOOK_STATUS_ARRAY};
+static const char *hook_status_description[] = {HOOK_STATUS_ARRAY};
 
 /* may be called with ds == NULL. */
 static int disk_space_low(struct disk_space *ds)
@@ -324,9 +324,14 @@ static int exec_rm(void)
 {
        struct snapshot *s = snapshot_currently_being_removed;
        char *new_name = being_deleted_name(s);
-       char *argv[] = {"rm", "-rf", new_name, NULL};
+       char *argv[4];
        int ret;
 
+       argv[0] = "rm";
+       argv[1] = "-rf";
+       argv[2] = new_name;
+       argv[3] = NULL;
+
        assert(snapshot_removal_status == HS_PRE_SUCCESS);
        assert(remove_pid == 0);
 
@@ -1215,9 +1220,13 @@ out:
 
 static void exit_hook(int exit_code)
 {
-       char *argv[] = {conf.exit_hook_arg, dss_strerror(-exit_code), NULL};
+       char *argv[3];
        pid_t pid;
 
+       argv[0] = conf.exit_hook_arg;
+       argv[1] = dss_strerror(-exit_code);
+       argv[2] = NULL;
+
        DSS_NOTICE_LOG("executing %s %s\n", argv[0], argv[1]);
        dss_exec(&pid, conf.exit_hook_arg, argv);
 }