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