From abc300f05c00de72081203d89d9065b25f1ccb3c Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Fri, 4 Feb 2022 11:03:52 -0500 Subject: Replace containers of PointerHolder with containers of std::shared_ptr None of these are in the public API. --- libqpdf/QPDF_encryption.cc | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'libqpdf/QPDF_encryption.cc') diff --git a/libqpdf/QPDF_encryption.cc b/libqpdf/QPDF_encryption.cc index fff35c67..54c2dadc 100644 --- a/libqpdf/QPDF_encryption.cc +++ b/libqpdf/QPDF_encryption.cc @@ -1238,7 +1238,7 @@ QPDF::decryptStream(PointerHolder encp, QPDF& qpdf_for_warning, Pipeline*& pipeline, int objid, int generation, QPDFObjectHandle& stream_dict, - std::vector >& heap) + std::vector>& heap) { std::string type; if (stream_dict.getKey("/Type").isName()) @@ -1343,21 +1343,25 @@ QPDF::decryptStream(PointerHolder encp, } } std::string key = getKeyForObject(encp, objid, generation, use_aes); + std::shared_ptr new_pipeline; if (use_aes) { QTC::TC("qpdf", "QPDF_encryption aes decode stream"); - pipeline = new Pl_AES_PDF("AES stream decryption", pipeline, - false, QUtil::unsigned_char_pointer(key), - key.length()); + new_pipeline = std::make_shared( + "AES stream decryption", pipeline, + false, QUtil::unsigned_char_pointer(key), + key.length()); } else { QTC::TC("qpdf", "QPDF_encryption rc4 decode stream"); - pipeline = new Pl_RC4("RC4 stream decryption", pipeline, - QUtil::unsigned_char_pointer(key), - toI(key.length())); + new_pipeline = std::make_shared( + "RC4 stream decryption", pipeline, + QUtil::unsigned_char_pointer(key), + toI(key.length())); } - heap.push_back(pipeline); + pipeline = new_pipeline.get(); + heap.push_back(new_pipeline); } void -- cgit v1.2.3-70-g09d2