diff options
author | Jay Berkenbilt <ejb@ql.org> | 2019-06-22 20:24:49 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2019-06-22 22:57:52 +0200 |
commit | 6c39aa87638f7a6f96a97627ac112fb2022bd3a7 (patch) | |
tree | 6941498e1cacbd6dcade4a695b27085fa693984f /include/qpdf | |
parent | 12400475283f5081ea55f52a764e43f14032f6ba (diff) | |
download | qpdf-6c39aa87638f7a6f96a97627ac112fb2022bd3a7.tar.zst |
In shippable code, favor smart pointers (fixes #235)
Use PointerHolder in several places where manually memory allocation
and deallocation were being used. This helps to protect against memory
leaks when exceptions are thrown in surprising places.
Diffstat (limited to 'include/qpdf')
-rw-r--r-- | include/qpdf/ClosedFileInputSource.hh | 2 | ||||
-rw-r--r-- | include/qpdf/Pl_Flate.hh | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/include/qpdf/ClosedFileInputSource.hh b/include/qpdf/ClosedFileInputSource.hh index ee8557fc..09b63bbd 100644 --- a/include/qpdf/ClosedFileInputSource.hh +++ b/include/qpdf/ClosedFileInputSource.hh @@ -82,7 +82,7 @@ class ClosedFileInputSource: public InputSource std::string filename; qpdf_offset_t offset; - FileInputSource* fis; + PointerHolder<FileInputSource> fis; bool stay_open; }; PointerHolder<Members> m; diff --git a/include/qpdf/Pl_Flate.hh b/include/qpdf/Pl_Flate.hh index 2884ecc5..f25adfbb 100644 --- a/include/qpdf/Pl_Flate.hh +++ b/include/qpdf/Pl_Flate.hh @@ -58,7 +58,7 @@ class Pl_Flate: public Pipeline Members(size_t out_bufsize, action_e action); Members(Members const&); - unsigned char* outbuf; + PointerHolder<unsigned char> outbuf; size_t out_bufsize; action_e action; bool initialized; |