`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
