bridges/source/net_uno/net_data.cxx | 5 +++++ 1 file changed, 5 insertions(+)
New commits: commit abbfb2c91584502bdf3d0d2c5681a0df16f3b08d Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Tue Sep 16 09:47:32 2025 +0500 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Tue Sep 16 13:46:28 2025 +0200 master_win_analyze: Silence C6011: Dereferencing NULL pointer in bridges malloc indeed can return a nullptr; we treat OOM situation as an unrecoverable error; so add some asserts. Change-Id: I937991248372d12e1688a046c9f67363312ac570 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191013 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/bridges/source/net_uno/net_data.cxx b/bridges/source/net_uno/net_data.cxx index 9a6bfc805dad..667f65f7ac88 100644 --- a/bridges/source/net_uno/net_data.cxx +++ b/bridges/source/net_uno/net_data.cxx @@ -53,6 +53,7 @@ IntPtr alloc_net_string(const OUString& str) sal_Int32 len = str.getLength(); void* dst = std::malloc((len + 1) * sizeof(sal_Unicode)); + assert(dst); std::memcpy(dst, src, len * sizeof(sal_Unicode)); static_cast<sal_Unicode*>(dst)[len] = u' @@ -62,6 +63,7 @@ IntPtr alloc_net_string(const OUString& str) uno_Sequence* alloc_uno_sequence(sal_Int32 nElements, sal_Int32 nElementSize, void* data) { void* mem = std::malloc(SAL_SEQUENCE_HEADER_SIZE + nElements * nElementSize); + assert(mem); uno_Sequence* seq = static_cast<uno_Sequence*>(mem); seq->nRefCount = 1; @@ -155,6 +157,7 @@ void marshal_data(void* pUnoData, void* pNetData, typelib_TypeDescriptionReferen else { IntPtr mem = std::malloc(size); + assert(mem); std::memcpy(mem, pUnoAny->pData, size); std::free(ppNetAny->data); ppNetAny->data = mem; @@ -220,6 +223,7 @@ void marshal_data(void* pUnoData, void* pNetData, typelib_TypeDescriptionReferen case typelib_TypeClass_ENUM: { ppNetSeq->data = std::malloc(nNetElemSize * ppNetSeq->length); + assert(ppNetSeq->data); std::memcpy(ppNetSeq->data, pUnoSeq->elements, nNetElemSize * ppNetSeq->length); break; } @@ -486,6 +490,7 @@ void unmarshal_data(void* pUnoData, void* pNetData, typelib_TypeDescriptionRefer else { void* mem = std::malloc(size); + assert(mem); std::memcpy(mem, pNetAny->data, size); pUnoAny->pData = mem; std::free(pNetAny->data);