[Libreoffice-commits] core.git: hwpfilter/source
Caolán McNamara
caolanm at redhat.com
Wed Mar 1 11:42:09 UTC 2017
hwpfilter/source/hinfo.h | 5 +++--
hwpfilter/source/hwpfile.cxx | 4 ++--
hwpfilter/source/hwpreader.cxx | 2 +-
3 files changed, 6 insertions(+), 5 deletions(-)
New commits:
commit 86463ec54dcdc562121bdb57b1ac4e85b135b2df
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Mar 1 11:41:17 2017 +0000
ofz#711: direct leak
Change-Id: I65ec47b4290d845f1803b20b93f149d35d9a60ea
diff --git a/hwpfilter/source/hinfo.h b/hwpfilter/source/hinfo.h
index d16da5d..7f1eee0 100644
--- a/hwpfilter/source/hinfo.h
+++ b/hwpfilter/source/hinfo.h
@@ -23,6 +23,8 @@
#include "hwplib.h"
#include "string.h"
+#include <vector>
+
#define CHAIN_MAX_PATH 40
#define ANNOTATION_LEN 24
@@ -77,7 +79,7 @@ struct PaperBackInfo
int range; /* 0-????, 1-????????, 3-??????, 4-?????? */
char reserved3[27];
int size;
- char *data; // image data
+ std::vector<char> data; // image data
bool isset;
PaperBackInfo()
: type(0)
@@ -87,7 +89,6 @@ struct PaperBackInfo
, flag(0)
, range(0)
, size(0)
- , data(nullptr)
, isset(false)
{
memset(reserved1, 0, sizeof(reserved1));
diff --git a/hwpfilter/source/hwpfile.cxx b/hwpfilter/source/hwpfile.cxx
index 0ce3902..33505c0 100644
--- a/hwpfilter/source/hwpfile.cxx
+++ b/hwpfilter/source/hwpfile.cxx
@@ -356,8 +356,8 @@ void HWPFile::TagsRead()
return;
}
- _hwpInfo.back_info.data = new char[(unsigned int)_hwpInfo.back_info.size];
- ReadBlock(_hwpInfo.back_info.data, _hwpInfo.back_info.size);
+ _hwpInfo.back_info.data.resize(_hwpInfo.back_info.size);
+ ReadBlock(_hwpInfo.back_info.data.data(), _hwpInfo.back_info.size);
if( _hwpInfo.back_info.size > 0 )
_hwpInfo.back_info.type = 2;
diff --git a/hwpfilter/source/hwpreader.cxx b/hwpfilter/source/hwpreader.cxx
index 53fd080..5e499e7 100644
--- a/hwpfilter/source/hwpreader.cxx
+++ b/hwpfilter/source/hwpreader.cxx
@@ -1736,7 +1736,7 @@ void HwpReader::makePageStyle()
if( hwpinfo.back_info.type == 2 ){
rstartEl("office:binary-data", mxList.get());
mxList->clear();
- std::shared_ptr<char> pStr(base64_encode_string(reinterpret_cast<unsigned char *>(hwpinfo.back_info.data), hwpinfo.back_info.size ), Free<char>());
+ std::shared_ptr<char> pStr(base64_encode_string(reinterpret_cast<unsigned char *>(hwpinfo.back_info.data.data()), hwpinfo.back_info.size ), Free<char>());
rchars(ascii(pStr.get()));
rendEl("office:binary-data");
}
More information about the Libreoffice-commits
mailing list