Fixed memory leaks.
authorArmin Novak <armin.novak@gmail.com>
Sun, 16 Nov 2014 23:28:17 +0000 (00:28 +0100)
committerArmin Novak <armin.novak@gmail.com>
Sun, 16 Nov 2014 23:28:17 +0000 (00:28 +0100)
libfreerdp/core/gateway/rts.c

index ca11fdb..a4d20f4 100644 (file)
@@ -824,7 +824,10 @@ int rts_send_keep_alive_pdu(rdpRpc* rpc)
        length = header.frag_length;
 
        if (rpc_in_write(rpc, buffer, length) < 0)
+       {
+               free (buffer);
                return -1;
+       }
        free(buffer);
 
        return length;
@@ -866,7 +869,10 @@ int rts_send_flow_control_ack_pdu(rdpRpc* rpc)
        length = header.frag_length;
 
        if (rpc_in_write(rpc, buffer, length) < 0)
+       {
+               free (buffer);
                return -1;
+       }
        free(buffer);
 
        return 0;
@@ -958,7 +964,10 @@ int rts_send_ping_pdu(rdpRpc* rpc)
        length = header.frag_length;
 
        if (rpc_in_write(rpc, buffer, length) < 0)
+       {
+               free (buffer);
                return -1;
+       }
        free(buffer);
 
        return length;