From dad68c33d64f5a7c68f2058df0b78adbb026d983 Mon Sep 17 00:00:00 2001 From: James Johnston <johnstonj.public@codenest.com> Date: Thu, 30 Jul 2015 06:35:45 +0000 Subject: [PATCH] Encoding: Fix undefined behavior if out of memory. Change-Id: Id632329f3593da977ce52de42ad39af4e6fb01dd --- EncodingC.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/EncodingC.c b/EncodingC.c index ba2cec2..32b9bff 100644 --- a/EncodingC.c +++ b/EncodingC.c @@ -45,8 +45,11 @@ wchar_t* kwsysEncoding_DupToWide(const char* str) if(length > 0) { ret = (wchar_t*)malloc((length)*sizeof(wchar_t)); - ret[0] = 0; - kwsysEncoding_mbstowcs(ret, str, length); + if(ret) + { + ret[0] = 0; + kwsysEncoding_mbstowcs(ret, str, length); + } } return ret; } @@ -72,8 +75,11 @@ char* kwsysEncoding_DupToNarrow(const wchar_t* str) if(length > 0) { ret = (char*)malloc(length); - ret[0] = 0; - kwsysEncoding_wcstombs(ret, str, length); + if(ret) + { + ret[0] = 0; + kwsysEncoding_wcstombs(ret, str, length); + } } return ret; } -- GitLab