basic/source/comp/buffer.cxx | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-)
New commits: commit 9f791ae23a19aa2e37b417c1696e216455b2c909 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Mon Nov 23 12:29:25 2020 +0300 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Mon Nov 23 15:11:12 2020 +0100 Simplify SbiBuffer::Check Change-Id: Ic90d8ee858d25bed36c89f95d5de94440cb48f1f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106399 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/basic/source/comp/buffer.cxx b/basic/source/comp/buffer.cxx index bb7bc596ff67..b0d87bdaef4d 100644 --- a/basic/source/comp/buffer.cxx +++ b/basic/source/comp/buffer.cxx @@ -74,29 +74,19 @@ bool SbiBuffer::Check( sal_Int32 n ) { nn = nn + nInc; } - char* p; if( ( nSize + nn ) > UP_LIMIT ) - { - p = nullptr; - } - else - { - p = new char [nSize + nn]; - } - if( !p ) { pParser->Error( ERRCODE_BASIC_PROG_TOO_LARGE ); nInc = 0; pBuf.reset(); return false; } - else - { - if( nSize ) memcpy( p, pBuf.get(), nSize ); - pBuf.reset(p); - pCur = pBuf.get() + nOff; - nSize = nSize + nn; - } + auto p(std::make_unique<char[]>(nSize + nn)); + if (nSize) + memcpy(p.get(), pBuf.get(), nSize); + pBuf = std::move(p); + pCur = pBuf.get() + nOff; + nSize += nn; } return true; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits