vcl/unx/generic/printer/jobdata.cxx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
New commits: commit e5131b6e208cce5af1af770cbe615dfed0a3ba63 Author: Caolán McNamara <caol...@redhat.com> Date: Mon Mar 12 11:35:37 2018 +0000 forcepoint #25 ensure null termination Change-Id: I37f4787fb5772e959c45280d9650adcc15591033 Reviewed-on: https://gerrit.libreoffice.org/51129 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Michael Stahl <mst...@redhat.com> diff --git a/vcl/unx/generic/printer/jobdata.cxx b/vcl/unx/generic/printer/jobdata.cxx index b5a6b113f9d6..92f9204b51e2 100644 --- a/vcl/unx/generic/printer/jobdata.cxx +++ b/vcl/unx/generic/printer/jobdata.cxx @@ -274,11 +274,15 @@ bool JobData::constructFromStreamBuffer( const void* pData, sal_uInt32 bytes, Jo if( rJobData.m_pParser ) { rJobData.m_aContext.setParser( rJobData.m_pParser ); - const sal_uInt64 nBytes = bytes - aStream.Tell(); - std::unique_ptr<char[]> pRemain(new char[bytes - aStream.Tell()]); - aStream.ReadBytes( pRemain.get(), nBytes ); - rJobData.m_aContext.rebuildFromStreamBuffer( pRemain.get(), nBytes ); - bContext = true; + sal_uInt64 nBytes = bytes - aStream.Tell(); + std::vector<char> aRemain(nBytes+1); + nBytes = aStream.ReadBytes(aRemain.data(), nBytes); + if (nBytes) + { + aRemain[nBytes] = 0; + rJobData.m_aContext.rebuildFromStreamBuffer(aRemain.data(), nBytes); + bContext = true; + } } } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits