[PATCH v3 2/3] xmllite/writer: Handle possible memory allocation failures

David Kahurani wine at gitlab.winehq.org
Mon Jun 20 12:24:38 CDT 2022


From: David Kahurani <k.kahurani at gmail.com>

Signed-off-by: David Kahurani <k.kahurani at gmail.com>
---
 dlls/xmllite/writer.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/dlls/xmllite/writer.c b/dlls/xmllite/writer.c
index 58d9edea059..3f5b3527f23 100644
--- a/dlls/xmllite/writer.c
+++ b/dlls/xmllite/writer.c
@@ -180,6 +180,13 @@ static struct element *alloc_element(xmlwriter *writer, const WCHAR *prefix, con
     len += lstrlenW(local);
 
     ret->qname = writer_alloc(writer, (len + 1)*sizeof(WCHAR));
+
+    if (!ret->qname)
+    {
+        writer_free(writer, ret);
+        return NULL;
+    }
+
     ret->len = len;
     if (prefix)
     {
@@ -249,7 +256,8 @@ static WCHAR *writer_strndupW(const xmlwriter *writer, const WCHAR *str, int len
 
     size = (len + 1) * sizeof(WCHAR);
     ret = writer_alloc(writer, size);
-    memcpy(ret, str, size);
+    if (ret) memcpy(ret, str, size);
+
     return ret;
 }
 
-- 
GitLab


https://gitlab.winehq.org/wine/wine/-/merge_requests/281



More information about the wine-devel mailing list