`error_message` is passed in to strncpy() without any check, which
doesn't handle NULL itself, so let's make it a valid empty string in
cases where it was NULL.

Signed-off-by: Eric Engestrom <[email protected]>
---
 src/process.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/process.c b/src/process.c
index 1ee1ceb..30d073f 100644
--- a/src/process.c
+++ b/src/process.c
@@ -704,6 +704,11 @@ ProcessError (
                invokeHandler = 1;
            }
 
+                       if (!errorStr)
+                       {
+                               errorStr = strdup("");
+                       }
+
            errorReply->type = ICE_CONNECTION_ERROR;
            errorReply->error_message = errorStr;
        }
@@ -794,6 +799,11 @@ ProcessError (
                invokeHandler = 1;
            }
 
+                       if (!errorStr)
+                       {
+                               errorStr = strdup("");
+                       }
+
            errorReply->type = ICE_PROTOCOL_ERROR;
            errorReply->error_message = errorStr;
        }
@@ -1270,7 +1280,7 @@ ProcessAuthRequired (
        }
 
        if (asprintf (&returnErrorString, "%s%s", prefix, errorString) == -1)
-           returnErrorString = NULL;
+           returnErrorString = strdup("");
        free (errorString);
 
        if (iceConn->connect_to_you)
@@ -1697,7 +1707,7 @@ ProcessAuthNextPhase (
        }
 
        if (asprintf (&returnErrorString, "%s%s", prefix, errorString) == -1)
-           returnErrorString = NULL;
+           returnErrorString = strdup("");
        free (errorString);
 
        if (iceConn->connect_to_you)
-- 
Cheers,
  Eric

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to