summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaolán McNamara <caolan.mcnamara@collabora.com>2024-04-30 09:22:17 +0100
committerCaolán McNamara <caolan.mcnamara@collabora.com>2024-04-30 13:40:54 +0200
commitd25b88ca2b6f59ce9b43b5d2e37ac7b95f2489f1 (patch)
tree4516e255c396826e1e4b3c116d6cae57636b9172
parentWaE: C6011 Dereferencing NULL pointer warnings (diff)
downloadcore-d25b88ca2b6f59ce9b43b5d2e37ac7b95f2489f1.tar.gz
core-d25b88ca2b6f59ce9b43b5d2e37ac7b95f2489f1.zip
WaE: C6011 Dereferencing NULL pointer warnings from unchecked malloc
upgrade OSL_ASSERT to assert and add a few more Change-Id: Ib52ca573d9e0878fef94dec40410f71bc94dea04 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166914 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
-rw-r--r--sal/osl/w32/nlsupport.cxx2
-rw-r--r--sal/osl/w32/process.cxx1
-rw-r--r--sal/osl/w32/procimpl.cxx2
-rw-r--r--sal/osl/w32/profile.cxx7
-rw-r--r--sal/osl/w32/socket.cxx10
-rw-r--r--sal/osl/w32/thread.cxx6
-rw-r--r--sal/osl/w32/time.cxx3
-rw-r--r--sal/rtl/bootstrap.cxx6
-rw-r--r--sal/rtl/byteseq.cxx8
-rw-r--r--sal/rtl/hash.cxx3
-rw-r--r--sal/rtl/string.cxx6
11 files changed, 30 insertions, 24 deletions
diff --git a/sal/osl/w32/nlsupport.cxx b/sal/osl/w32/nlsupport.cxx
index 1c3648d5a09c..010a8f2f971a 100644
--- a/sal/osl/w32/nlsupport.cxx
+++ b/sal/osl/w32/nlsupport.cxx
@@ -87,7 +87,7 @@ void imp_getProcessLocale( rtl_Locale ** ppLocale )
WCHAR langCode[ELP_LANGUAGE_FIELD_LENGTH];
WCHAR ctryCode[ELP_COUNTRY_FIELD_LENGTH];
- OSL_ASSERT( ppLocale );
+ assert(ppLocale);
/* get the locale name to retrieve information from */
/* and call GetLocaleInfo to retrieve the iso codes */
diff --git a/sal/osl/w32/process.cxx b/sal/osl/w32/process.cxx
index 065415f2cf86..d18513be6dd5 100644
--- a/sal/osl/w32/process.cxx
+++ b/sal/osl/w32/process.cxx
@@ -149,6 +149,7 @@ oslProcess SAL_CALL osl_getProcess(oslProcessIdentifier Ident)
if (hProcess)
{
pProcImpl = static_cast< oslProcessImpl*>( malloc(sizeof(oslProcessImpl)) );
+ assert(pProcImpl && "Don't handle OOM conditions");
pProcImpl->m_hProcess = hProcess;
pProcImpl->m_IdProcess = Ident;
}
diff --git a/sal/osl/w32/procimpl.cxx b/sal/osl/w32/procimpl.cxx
index a9a7b95cc2ce..173ca3e11651 100644
--- a/sal/osl/w32/procimpl.cxx
+++ b/sal/osl/w32/procimpl.cxx
@@ -122,7 +122,7 @@ namespace /* private */
sal_uInt32 env_vars_count,
/*in|out*/ std::vector<OUString>* merged_env)
{
- OSL_ASSERT(env_vars && env_vars_count > 0 && merged_env);
+ assert(env_vars && env_vars_count > 0 && merged_env);
read_environment(merged_env);
diff --git a/sal/osl/w32/profile.cxx b/sal/osl/w32/profile.cxx
index a0790c3de632..413171eab3e9 100644
--- a/sal/osl/w32/profile.cxx
+++ b/sal/osl/w32/profile.cxx
@@ -371,7 +371,7 @@ DWORD GetPrivateProfileStringWrapper(const osl_TProfileImpl* pProfile,
char* pszString, sal_uInt32 MaxLen,
const char* pszDefault)
{
- OSL_ASSERT(pProfile && (!MaxLen || pszString));
+ assert(pProfile && (!MaxLen || pszString));
rtl_uString *pSection = nullptr, *pEntry = nullptr, *pDefault = nullptr;
if (pszSection)
@@ -412,10 +412,10 @@ bool WritePrivateProfileStringWrapper(const osl_TProfileImpl* pProfile,
const char* pszSection, const char* pszEntry,
const char* pszString)
{
- OSL_ASSERT(pProfile && pszSection);
+ assert(pProfile && pszSection);
rtl_uString *pSection, *pEntry = nullptr, *pString = nullptr;
rtl_string2UString(&pSection, pszSection, strlen(pszSection), osl_getThreadTextEncoding(), OSTRING_TO_OUSTRING_CVTFLAGS);
- OSL_ASSERT(pSection);
+ assert(pSection);
if (pszEntry)
{
rtl_string2UString(&pEntry, pszEntry, strlen(pszEntry), osl_getThreadTextEncoding(), OSTRING_TO_OUSTRING_CVTFLAGS);
@@ -1258,6 +1258,7 @@ static bool putLine(osl_TFile* pFile, const char *pszLine)
if ( pFile->m_pWriteBuf == nullptr )
{
pFile->m_pWriteBuf = static_cast<char*>(malloc(Len+3));
+ assert(pFile->m_pWriteBuf && "Don't handle OOM conditions");
pFile->m_nWriteBufLen = Len+3;
pFile->m_nWriteBufFree = Len+3;
}
diff --git a/sal/osl/w32/socket.cxx b/sal/osl/w32/socket.cxx
index 07e4eb011202..bc5a50dfd99b 100644
--- a/sal/osl/w32/socket.cxx
+++ b/sal/osl/w32/socket.cxx
@@ -329,13 +329,13 @@ oslSocketAddr SAL_CALL osl_copySocketAddr(oslSocketAddr Addr)
sal_Bool SAL_CALL osl_isEqualSocketAddr(oslSocketAddr Addr1, oslSocketAddr Addr2)
{
- OSL_ASSERT(Addr1);
- OSL_ASSERT(Addr2);
+ assert(Addr1);
+ assert(Addr2);
struct sockaddr* pAddr1= &(Addr1->m_sockaddr);
struct sockaddr* pAddr2= &(Addr2->m_sockaddr);
- OSL_ASSERT(pAddr1);
- OSL_ASSERT(pAddr2);
+ assert(pAddr1);
+ assert(pAddr2);
if (pAddr1->sa_family == pAddr2->sa_family)
{
@@ -868,7 +868,7 @@ oslSocketAddr SAL_CALL osl_getPeerAddrOfSocket(oslSocket pSocket)
sal_Bool SAL_CALL osl_bindAddrToSocket ( oslSocket pSocket, oslSocketAddr pAddr)
{
- OSL_ASSERT( pAddr );
+ assert(pAddr);
if (pSocket == nullptr) /* ENOTSOCK */
return false;
diff --git a/sal/osl/w32/thread.cxx b/sal/osl/w32/thread.cxx
index 3640d43b9992..690431972516 100644
--- a/sal/osl/w32/thread.cxx
+++ b/sal/osl/w32/thread.cxx
@@ -152,7 +152,7 @@ void SAL_CALL osl_resumeThread(oslThread Thread)
{
osl_TThreadImpl* pThreadImpl= static_cast<osl_TThreadImpl*>(Thread);
- OSL_ASSERT(pThreadImpl); /* valid ptr? */
+ assert(pThreadImpl); /* valid ptr? */
ResumeThread(pThreadImpl->m_hThread);
}
@@ -161,7 +161,7 @@ void SAL_CALL osl_suspendThread(oslThread Thread)
{
osl_TThreadImpl* pThreadImpl= static_cast<osl_TThreadImpl*>(Thread);
- OSL_ASSERT(pThreadImpl); /* valid ptr? */
+ assert(pThreadImpl); /* valid ptr? */
SuspendThread(pThreadImpl->m_hThread);
}
@@ -172,7 +172,7 @@ void SAL_CALL osl_setThreadPriority(oslThread Thread,
int winPriority;
osl_TThreadImpl* pThreadImpl= static_cast<osl_TThreadImpl*>(Thread);
- OSL_ASSERT(pThreadImpl); /* valid ptr? */
+ assert(pThreadImpl); /* valid ptr? */
/* map enum to WIN32 levels
it would be faster and more elegant to preset
diff --git a/sal/osl/w32/time.cxx b/sal/osl/w32/time.cxx
index 3f11746fedad..e8b2059f70d4 100644
--- a/sal/osl/w32/time.cxx
+++ b/sal/osl/w32/time.cxx
@@ -18,6 +18,7 @@
*/
#include <sal/config.h>
+#include "assert.h"
#include "system.h"
#include "filetime.hxx"
@@ -33,7 +34,7 @@ sal_Bool SAL_CALL osl_getSystemTime(TimeValue* pTimeVal)
typedef VOID (WINAPI *GetSystemTimePreciseAsFileTime_PROC)(LPFILETIME);
- OSL_ASSERT(pTimeVal != nullptr);
+ assert(pTimeVal != nullptr);
static GetSystemTimePreciseAsFileTime_PROC pGetSystemTimePreciseAsFileTime = []()
{
diff --git a/sal/rtl/bootstrap.cxx b/sal/rtl/bootstrap.cxx
index 754003e7a0e8..f5a650708057 100644
--- a/sal/rtl/bootstrap.cxx
+++ b/sal/rtl/bootstrap.cxx
@@ -72,7 +72,7 @@ bool isPathnameUrl(std::u16string_view url)
bool resolvePathnameUrl(OUString * url)
{
- OSL_ASSERT(url);
+ assert(url);
if (!isPathnameUrl(*url) ||
(osl::FileBase::getFileURLFromSystemPath(
url->copy(VND_SUN_STAR_PATHNAME.size()), *url) ==
@@ -835,7 +835,7 @@ void SAL_CALL rtl_bootstrap_expandMacros(rtl_uString ** macro)
void rtl_bootstrap_encode(rtl_uString const * value, rtl_uString ** encoded)
{
- OSL_ASSERT(value);
+ assert(value);
OUStringBuffer b(value->length+5);
for (sal_Int32 i = 0; i < value->length; ++i)
{
@@ -861,7 +861,7 @@ int hex(sal_Unicode c)
sal_Unicode read(std::u16string_view text, std::size_t * pos, bool * escaped)
{
- OSL_ASSERT(pos && *pos < text.length() && escaped);
+ assert(pos && *pos < text.length() && escaped);
sal_Unicode c = text[(*pos)++];
if (c == '\\')
{
diff --git a/sal/rtl/byteseq.cxx b/sal/rtl/byteseq.cxx
index 0084f3969812..5c9cb224178f 100644
--- a/sal/rtl/byteseq.cxx
+++ b/sal/rtl/byteseq.cxx
@@ -41,7 +41,7 @@ void SAL_CALL rtl_byte_sequence_reference2One(
{
sal_Sequence * pSequence;
- OSL_ENSURE( ppSequence, "### null ptr!" );
+ assert(ppSequence && "### null ptr!");
pSequence = *ppSequence;
if (pSequence->nRefCount > 1)
@@ -132,7 +132,7 @@ void SAL_CALL rtl_byte_sequence_realloc(
void SAL_CALL rtl_byte_sequence_acquire( sal_Sequence *pSequence )
SAL_THROW_EXTERN_C()
{
- OSL_ASSERT( pSequence );
+ assert(pSequence);
osl_atomic_increment( &(pSequence->nRefCount) );
}
@@ -151,7 +151,7 @@ void SAL_CALL rtl_byte_sequence_release( sal_Sequence *pSequence )
void SAL_CALL rtl_byte_sequence_construct( sal_Sequence **ppSequence , sal_Int32 nLength )
SAL_THROW_EXTERN_C()
{
- OSL_ASSERT( ppSequence );
+ assert(ppSequence);
if( *ppSequence )
{
rtl_byte_sequence_release( *ppSequence );
@@ -178,7 +178,7 @@ void SAL_CALL rtl_byte_sequence_construct( sal_Sequence **ppSequence , sal_Int32
void SAL_CALL rtl_byte_sequence_constructNoDefault( sal_Sequence **ppSequence , sal_Int32 nLength )
SAL_THROW_EXTERN_C()
{
- OSL_ASSERT( ppSequence );
+ assert(ppSequence);
if( *ppSequence )
{
rtl_byte_sequence_release( *ppSequence );
diff --git a/sal/rtl/hash.cxx b/sal/rtl/hash.cxx
index 4e255d965e17..ba7769d09a8c 100644
--- a/sal/rtl/hash.cxx
+++ b/sal/rtl/hash.cxx
@@ -19,6 +19,7 @@
#include <sal/config.h>
+#include <assert.h>
#include <stdlib.h>
#include "hash.hxx"
@@ -76,10 +77,12 @@ static sal_uInt32 hashString(rtl_uString *pString)
static StringHashTable * rtl_str_hash_new(sal_uInt32 nSize)
{
StringHashTable *pHash = static_cast<StringHashTable *>(malloc(sizeof(StringHashTable)));
+ assert(pHash && "Don't handle OOM conditions");
pHash->nEntries = 0;
pHash->nSize = getNextSize (nSize);
pHash->pData = static_cast< rtl_uString ** >(calloc(pHash->nSize, sizeof(rtl_uString *)));
+ assert(pHash->pData && "Don't handle OOM conditions");
return pHash;
}
diff --git a/sal/rtl/string.cxx b/sal/rtl/string.cxx
index 05f87475df0b..ce0e873fbd64 100644
--- a/sal/rtl/string.cxx
+++ b/sal/rtl/string.cxx
@@ -161,7 +161,7 @@ static bool rtl_impl_convertUStringToString(rtl_String ** pTarget,
if ( *pTarget )
rtl_string_release( *pTarget );
*pTarget = rtl_string_ImplAlloc( nLength );
- OSL_ASSERT(*pTarget != nullptr);
+ assert(*pTarget != nullptr);
pBuffer = (*pTarget)->buffer;
do
{
@@ -200,7 +200,7 @@ static bool rtl_impl_convertUStringToString(rtl_String ** pTarget,
for (;;)
{
pTemp = rtl_string_ImplAlloc( nNewLen );
- OSL_ASSERT(pTemp != nullptr);
+ assert(pTemp != nullptr);
nDestBytes = rtl_convertUnicodeToText( hConverter, nullptr,
pSource, nLength,
pTemp->buffer, nNewLen,
@@ -230,7 +230,7 @@ static bool rtl_impl_convertUStringToString(rtl_String ** pTarget,
if ( nNewLen > nDestBytes+8 )
{
rtl_String* pTemp2 = rtl_string_ImplAlloc( nDestBytes );
- OSL_ASSERT(pTemp2 != nullptr);
+ assert(pTemp2 != nullptr);
rtl::str::Copy(pTemp2->buffer, pTemp->buffer, nDestBytes);
rtl_freeString( pTemp );
pTemp = pTemp2;