poppler/Annot.cc | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-)
New commits: commit 83d4d3ee56b22ef4c0899514abcfc4c220fb4031 Author: Albert Astals Cid <[email protected]> Date: Mon Feb 13 20:47:05 2017 +0100 Properly initialize some RichMedia variables in corner cases Bug #99767 diff --git a/poppler/Annot.cc b/poppler/Annot.cc index 51a80e5..9da79c2 100644 --- a/poppler/Annot.cc +++ b/poppler/Annot.cc @@ -6854,6 +6854,8 @@ AnnotRichMedia::Content::Content(Dict *dict) { } obj1.free(); + nAssets = 0; + assets = NULL; if (dict->lookup("Assets", &obj1)->isDict()) { Object obj2; @@ -6878,10 +6880,6 @@ AnnotRichMedia::Content::Content(Dict *dict) { } } obj2.free(); - - } else { - nAssets = 0; - assets = NULL; } obj1.free(); } @@ -7044,20 +7042,19 @@ AnnotRichMedia::Instance::Instance(Dict *dict) { Object obj1; - if (dict->lookup("Subtype", &obj1)->isName()) { - const char *name = obj1.getName(); + dict->lookup("Subtype", &obj1); + const char *name = obj1.isName() ? obj1.getName() : ""; - if (!strcmp(name, "3D")) { - type = type3D; - } else if (!strcmp(name, "Flash")) { - type = typeFlash; - } else if (!strcmp(name, "Sound")) { - type = typeSound; - } else if (!strcmp(name, "Video")) { - type = typeVideo; - } else { - type = typeFlash; - } + if (!strcmp(name, "3D")) { + type = type3D; + } else if (!strcmp(name, "Flash")) { + type = typeFlash; + } else if (!strcmp(name, "Sound")) { + type = typeSound; + } else if (!strcmp(name, "Video")) { + type = typeVideo; + } else { + type = typeFlash; } obj1.free(); _______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
