summaryrefslogtreecommitdiff
path: root/ucb
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2018-10-20 22:58:47 +0200
committerMike Kaganski <mike.kaganski@collabora.com>2018-10-21 07:07:23 +0200
commit86fd9622fb8066e1b3a41971cdf7ad76539d313c (patch)
treeb9149ef284319346b7ee4b6cae6d39fd8ab28769 /ucb
parent3846561f79cf9065abd9ca83c9fbfbe7e52e28e2 (diff)
tdf#120703 (PVS): handle failed realloc
V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer 'm_pBuffer' is lost. Consider assigning realloc() to a temporary pointer. Change-Id: I8a18e1472072456bfe9f32d822f185cabd24d6ed Reviewed-on: https://gerrit.libreoffice.org/62114 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'ucb')
-rw-r--r--ucb/source/ucp/ftp/ftpurl.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/ucb/source/ucp/ftp/ftpurl.cxx b/ucb/source/ucp/ftp/ftpurl.cxx
index 38e4afe3345a..01c2eb292860 100644
--- a/ucb/source/ucp/ftp/ftpurl.cxx
+++ b/ucb/source/ucp/ftp/ftpurl.cxx
@@ -88,7 +88,10 @@ int MemoryContainer::append(
m_nLen+=1024;
} while(m_nLen < tmp);
- m_pBuffer = std::realloc(m_pBuffer,m_nLen);
+ if (auto p = std::realloc(m_pBuffer, m_nLen))
+ m_pBuffer = p;
+ else
+ return 0;
}
memcpy(static_cast<sal_Int8*>(m_pBuffer)+m_nWritePos,