]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
Check both io->status and return code in plugin_verify_data_update()
authorEric Bollengier <eric@baculasystems.com>
Tue, 21 Dec 2021 12:12:03 +0000 (13:12 +0100)
committerEric Bollengier <eric@baculasystems.com>
Thu, 14 Sep 2023 11:56:57 +0000 (13:56 +0200)
bacula/src/filed/fd_plugins.c

index b057959672f224a3104a2aac959162c685ca2cbe..7682bfa1980539d24db860c3318a2cf89c69cd2b 100644 (file)
@@ -2704,16 +2704,15 @@ bRC plugin_verify_data_update(JCR *jcr, char *data, int size)
          io.win32 = false;
          io.lerror = 0;
          io.status = -1;
-         plug_func(jcr->plugin)->pluginIO(jcr->plugin_ctx, &io);
+         ret = plug_func(jcr->plugin)->pluginIO(jcr->plugin_ctx, &io);
          if (io.win32) {
             errno = b_errno_win32;
          } else {
             errno = io.io_errno;
          }
-         if (io.status != 0) {
+         if (io.status < 0) {
             ret = bRC_Error;
          }
-         
       }
    }
    jcr->plugin_ctx = NULL;
@@ -2762,13 +2761,13 @@ bRC plugin_verify_data_open(JCR *jcr,  ATTR *attr)
             io.win32 = false;
             io.lerror = 0;
             io.status = -1;
-            plug_func(jcr->plugin)->pluginIO(jcr->plugin_ctx, &io);
+            bRC ret = plug_func(jcr->plugin)->pluginIO(jcr->plugin_ctx, &io);
             if (io.win32) {
                errno = b_errno_win32;
             } else {
                errno = io.io_errno;
             }
-            if (io.status >= 0) { // -1 in case of error
+            if (ret == bRC_OK && io.status >= 0) { // -1 in case of error
                bctx->verifyFileCalled = true;
             }
          }