diff -rupN poppler-0.62.0/utils/pdfdetach.cc poppler-0.62.0-new/utils/pdfdetach.cc
--- poppler-0.62.0/utils/pdfdetach.cc 2017-12-03 20:25:06.000000000 +0100
+++ poppler-0.62.0-new/utils/pdfdetach.cc 2019-02-20 19:33:40.012775237 +0100
@@ -249,7 +249,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;
@@ -294,7 +299,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;