[poppler] utils/pdfdetach.cc

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Nov 6 14:42:12 UTC 2018


 utils/pdfdetach.cc |   14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

New commits:
commit 77a30e94d96220d7e22dff5b3f0a7f296f01b118
Author: Adam Reichold <adam.reichold at t-online.de>
Date:   Tue Nov 6 09:13:41 2018 +0100

    pdfdetach: Check for valid embedded file before trying to save it.
    
    Closes #661

diff --git a/utils/pdfdetach.cc b/utils/pdfdetach.cc
index 846584a4..a8720c64 100644
--- a/utils/pdfdetach.cc
+++ b/utils/pdfdetach.cc
@@ -251,7 +251,12 @@ int main(int argc, char *argv[]) {
       }
       *p = '\0';
 
-      if (!fileSpec->getEmbeddedFile()->save(path)) {
+      auto *embFile = fileSpec->getEmbeddedFile();
+      if (!embFile || !embFile->isOk()) {
+	exitCode = 3;
+	goto err2;
+      }
+      if (!embFile->save(path)) {
 	error(errIO, -1, "Error saving embedded file as '{0:s}'", p);
 	exitCode = 2;
 	goto err2;
@@ -296,7 +301,12 @@ int main(int argc, char *argv[]) {
       p = path;
     }
 
-    if (!fileSpec->getEmbeddedFile()->save(p)) {
+    auto *embFile = fileSpec->getEmbeddedFile();
+    if (!embFile || !embFile->isOk()) {
+      exitCode = 3;
+      goto err2;
+    }
+    if (!embFile->save(p)) {
       error(errIO, -1, "Error saving embedded file as '{0:s}'", p);
       exitCode = 2;
       goto err2;


More information about the poppler mailing list