fix regression in 76cab18667

This commit is contained in:
2026-04-03 14:38:34 +02:00
parent d7bd98e719
commit eed5be06c0

View File

@@ -1513,7 +1513,8 @@ namespace gourou
}
}
/* Delete objects that reference EBX objects, except in trailer */
/* Delete objects that reference EBX objects,
except in trailer and objects that references Info */
for(it = objects.begin(); it != objects.end(); it++)
{
uPDFParser::Object* object = *it;
@@ -1522,12 +1523,18 @@ namespace gourou
{
uPDFParser::Reference* encrypt = (uPDFParser::Reference*)(*object)["Encrypt"];
if (object->hasKey("Info"))
{
object->deleteKey("Encrypt");
continue;
}
/* Delete EBX objects */
for(ebxIt = ebxObjects.begin(); ebxIt != ebxObjects.end(); ebxIt++)
{
if (encrypt->value() == (*ebxIt)->objectId())
{
GOUROU_LOG(ERROR, "Delete stream id " << object->objectId());
GOUROU_LOG(DEBUG, "Delete stream id " << object->objectId());
parser.removeObject(object);
break;
@@ -1540,7 +1547,7 @@ namespace gourou
for(it = ebxObjects.begin(); it != ebxObjects.end(); it++)
parser.removeObject(*it);
uPDFParser::Object& trailer = parser.getTrailer();
uPDFParser::Object& trailer = parser.getTrailer();
trailer.deleteKey("Encrypt");
parser.write(filenameOut);