[X2Go-Commits] [nx-libs] 191/429: Window.c: check for malloc failure

git-admin at x2go.org git-admin at x2go.org
Mon Oct 18 09:36:27 CEST 2021


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch 3.6.x
in repository nx-libs.

commit 4d95e29b87217ac12de97bf4031603c36055b6ac
Author: Ulrich Sibiller <uli42 at gmx.de>
Date:   Mon Jan 4 19:50:31 2021 +0100

    Window.c: check for malloc failure
    
    PVS finding: "V522 There might be dereferencing of a potential null pointer 'props'"
---
 nx-X11/programs/Xserver/hw/nxagent/Window.c | 35 ++++++++++++++++++-----------
 1 file changed, 22 insertions(+), 13 deletions(-)

diff --git a/nx-X11/programs/Xserver/hw/nxagent/Window.c b/nx-X11/programs/Xserver/hw/nxagent/Window.c
index 367c15841..811b5b565 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Window.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c
@@ -3090,27 +3090,36 @@ static void nxagentReconnectWindow(void * param0, XID param1, void * data_buffer
                     (void*)pWin, pWin -> drawable.id, nxagentWindow(pWin));
         #endif
 
+        /* FIXME: use XAllocSizeHints() */
         #ifdef _XSERVER64
         data64 = (unsigned char *) malloc(sizeof(XSizeHints) + 4);
+	if (data64)
+	{
+          for (int i = 0; i < 4; i++)
+          {
+            *(data64 + i) = *(data + i);
+          }
 
-        for (int i = 0; i < 4; i++)
-        {
-          *(data64 + i) = *(data + i);
-        }
-
-        *(((int *) data64) + 1) = 0;
+          *(((int *) data64) + 1) = 0;
 
-        for (int i = 8; i < sizeof(XSizeHints) + 4; i++)
-        {
-          *(data64 + i) = *(data + i - 4);
-        }
+          for (int i = 8; i < sizeof(XSizeHints) + 4; i++)
+          {
+            *(data64 + i) = *(data + i - 4);
+          }
 
-        XSizeHints *props = (XSizeHints *) data64;
+          XSizeHints *props = (XSizeHints *) data64;
         #else
-        XSizeHints *props = (XSizeHints *) data;
+          XSizeHints *props = (XSizeHints *) data;
         #endif   /* _XSERVER64 */
 
-        hints = *props;
+          hints = *props;
+	}
+	else
+	{
+          #ifdef WARNING
+          fprintf(stderr, "%s: Failed to alloc memory for XSizeHints\n", __func__);
+          #endif
+	}
       }
       else
       {

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git


More information about the x2go-commits mailing list