Blame poppler_CVE-2018-19059.patch
|
|
2604b8e |
diff -rupN poppler-0.62.0/utils/pdfdetach.cc poppler-0.62.0-new/utils/pdfdetach.cc
|
|
|
2604b8e |
--- poppler-0.62.0/utils/pdfdetach.cc 2017-12-03 20:25:06.000000000 +0100
|
|
|
1d4023a |
+++ poppler-0.62.0-new/utils/pdfdetach.cc 2019-02-20 19:33:40.012775237 +0100
|
|
|
2604b8e |
@@ -249,7 +249,12 @@ int main(int argc, char *argv[]) {
|
|
|
2604b8e |
}
|
|
|
2604b8e |
*p = '\0';
|
|
|
2604b8e |
|
|
|
2604b8e |
- if (!fileSpec->getEmbeddedFile()->save(path)) {
|
|
|
2604b8e |
+ auto *embFile = fileSpec->getEmbeddedFile();
|
|
|
2604b8e |
+ if (!embFile || !embFile->isOk()) {
|
|
|
2604b8e |
+ exitCode = 3;
|
|
|
2604b8e |
+ goto err2;
|
|
|
2604b8e |
+ }
|
|
|
2604b8e |
+ if (!embFile->save(path)) {
|
|
|
2604b8e |
error(errIO, -1, "Error saving embedded file as '{0:s}'", p);
|
|
|
2604b8e |
exitCode = 2;
|
|
|
2604b8e |
goto err2;
|
|
|
2604b8e |
@@ -294,7 +299,12 @@ int main(int argc, char *argv[]) {
|
|
|
2604b8e |
p = path;
|
|
|
2604b8e |
}
|
|
|
2604b8e |
|
|
|
2604b8e |
- if (!fileSpec->getEmbeddedFile()->save(p)) {
|
|
|
2604b8e |
+ auto *embFile = fileSpec->getEmbeddedFile();
|
|
|
2604b8e |
+ if (!embFile || !embFile->isOk()) {
|
|
|
2604b8e |
+ exitCode = 3;
|
|
|
2604b8e |
+ goto err2;
|
|
|
2604b8e |
+ }
|
|
|
2604b8e |
+ if (!embFile->save(p)) {
|
|
|
2604b8e |
error(errIO, -1, "Error saving embedded file as '{0:s}'", p);
|
|
|
2604b8e |
exitCode = 2;
|
|
|
2604b8e |
goto err2;
|