don't use memset on structure with std::shared_ptr member
Change-Id: Ie6033b9820435bb6a45aa70f9a48115000571e0f
Reviewed-on: https://gerrit.libreoffice.org/40004
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
diff --git a/hwpfilter/source/hinfo.cxx b/hwpfilter/source/hinfo.cxx
index 3d262b5..3ad3872 100644
--- a/hwpfilter/source/hinfo.cxx
+++ b/hwpfilter/source/hinfo.cxx
@@ -192,6 +192,31 @@ bool HWPSummary::Read(HWPFile & hwpf)
return (!hwpf.State());
}
ParaShape::ParaShape():
index(0),
left_margin(0),
right_margin(0),
indent(0),
lspacing(0),
pspacing_prev(0),
pspacing_next(0),
condense(0),
arrange_type(0),
shade(0),
outline(0),
outline_continue(0),
pagebreak(0)
{
coldef.ncols = 0;
coldef.separator = 0;
coldef.spacing = 0;
coldef.columnlen = 0;
coldef.columnlen0 = 0;
reserved[0] = 0;
reserved[1] = 0;
reserved[0] = 0;
reserved[1] = 0;
}
void ParaShape::Read(HWPFile & hwpf)
{
diff --git a/hwpfilter/source/hinfo.h b/hwpfilter/source/hinfo.h
index e9c17f8..864e2ac 100644
--- a/hwpfilter/source/hinfo.h
+++ b/hwpfilter/source/hinfo.h
@@ -287,6 +287,8 @@ struct ParaShape
unsigned char pagebreak;
void Read(HWPFile &);
ParaShape();
};
#endif // INCLUDED_HWPFILTER_SOURCE_HINFO_H
diff --git a/hwpfilter/source/hpara.cxx b/hwpfilter/source/hpara.cxx
index 0534862..5d9dd47 100644
--- a/hwpfilter/source/hpara.cxx
+++ b/hwpfilter/source/hpara.cxx
@@ -79,7 +79,6 @@ HWPPara::HWPPara()
, pshape(new ParaShape)
{
memset(cshape.get(), 0, sizeof(CharShape));
memset(pshape.get(), 0, sizeof(ParaShape));
}
HWPPara::~HWPPara()
diff --git a/hwpfilter/source/hstyle.cxx b/hwpfilter/source/hstyle.cxx
index 6c29a50..d43b3c8 100644
--- a/hwpfilter/source/hstyle.cxx
+++ b/hwpfilter/source/hstyle.cxx
@@ -108,7 +108,7 @@ void HWPStyle::SetParaShape(int n, ParaShape * pshapep)
if (pshapep)
DATA[n].pshape = *pshapep;
else
memset(&DATA[n].pshape, 0, sizeof(ParaShape));
DATA[n].pshape = ParaShape();
}
}