Rewritten check to satisfy BehaviouralSanitizer
authorakallabeth <akallabeth@posteo.net>
Fri, 15 May 2020 15:18:57 +0000 (17:18 +0200)
committerakallabeth <akallabeth@posteo.net>
Mon, 18 May 2020 15:10:01 +0000 (17:10 +0200)
(cherry picked from commit 14829de866b43e7f2740b46f0c736b9adf5067eb)

libfreerdp/core/info.c

index 843693e..c76a1c3 100644 (file)
@@ -1141,7 +1141,7 @@ static BOOL rdp_recv_logon_info_v2(rdpRdp* rdp, wStream* s, logon_info* info)
         */
        if (cbDomain)
        {
-               if ((cbDomain % 2) || cbDomain > 52)
+               if ((cbDomain % 2) || (cbDomain > 52))
                {
                        WLog_ERR(TAG, "protocol error: invalid cbDomain value: %" PRIu32 "", cbDomain);
                        goto fail;
@@ -1155,7 +1155,7 @@ static BOOL rdp_recv_logon_info_v2(rdpRdp* rdp, wStream* s, logon_info* info)
 
                ptrconv.bp = Stream_Pointer(s);
 
-               if (ptrconv.wp[cbDomain / 2 - 1])
+               if (ptrconv.bp[cbDomain - 1] || ptrconv.bp[cbDomain - 2])
                {
                        WLog_ERR(TAG, "protocol error: Domain field must be null terminated");
                        goto fail;