]> git.sur5r.net Git - bacula/bacula/commitdiff
Avoid seg fault by checking for NULL client -- reported by Arno
authorKern Sibbald <kern@sibbald.com>
Sat, 17 Nov 2012 08:11:32 +0000 (09:11 +0100)
committerKern Sibbald <kern@sibbald.com>
Sat, 20 Apr 2013 12:51:03 +0000 (14:51 +0200)
bacula/src/dird/ua_prune.c

index a993edba6dde0cd73fcf7bb200878794ca49c561..68c747cfce5a1df74bbc988bc06bcf4aa478c40d 100644 (file)
@@ -129,7 +129,9 @@ int prunecmd(UAContext *ua, const char *cmd)
 
    switch (kw) {
    case 0:  /* prune files */
-      client = get_client_resource(ua);
+      if (!(client = get_client_resource(ua))) {
+         return false;
+      }
       if (find_arg_with_value(ua, "pool") >= 0) {
          pool = get_pool_resource(ua);
       } else {
@@ -140,13 +142,15 @@ int prunecmd(UAContext *ua, const char *cmd)
          if (!confirm_retention(ua, &pool->FileRetention, "File")) {
             return false;
          }
-      } else if (!client || !confirm_retention(ua, &client->FileRetention, "File")) {
+      } else if (!confirm_retention(ua, &client->FileRetention, "File")) {
          return false;
       }
       prune_files(ua, client, pool);
       return true;
    case 1:  /* prune jobs */
-      client = get_client_resource(ua);
+      if (!(client = get_client_resource(ua))) {
+         return false;
+      }
       if (find_arg_with_value(ua, "pool") >= 0) {
          pool = get_pool_resource(ua);
       } else {
@@ -157,7 +161,7 @@ int prunecmd(UAContext *ua, const char *cmd)
          if (!confirm_retention(ua, &pool->JobRetention, "Job")) {
             return false;
          }
-      } else if (!client || !confirm_retention(ua, &client->JobRetention, "Job")) {
+      } else if (!confirm_retention(ua, &client->JobRetention, "Job")) {
          return false;
       }
       /* ****FIXME**** allow user to select JobType */