diff mbox series

[1/2] net/colo-compare.c: Fix memory leak for non-tcp packet

Message ID af6051bf9a72151cfc5e7ec8c72dedd30ef6b332.1605438886.git.lukasstraub2@web.de (mailing list archive)
State New, archived
Headers show
Series colo-compare: Fix memory leak for non-tcp packet | expand

Commit Message

Lukas Straub Nov. 15, 2020, 11:19 a.m. UTC
Additional to removing the packet from the secondary queue,
we also need to free it.

Signed-off-by: Lukas Straub <lukasstraub2@web.de>
---
 net/colo-compare.c | 1 +
 1 file changed, 1 insertion(+)

--
2.20.1

Comments

Zhang, Chen Nov. 16, 2020, 7:31 a.m. UTC | #1
> -----Original Message-----
> From: Lukas Straub <lukasstraub2@web.de>
> Sent: Sunday, November 15, 2020 7:19 PM
> To: qemu-devel <qemu-devel@nongnu.org>
> Cc: Zhang, Chen <chen.zhang@intel.com>; Li Zhijian
> <lizhijian@cn.fujitsu.com>; Jason Wang <jasowang@redhat.com>
> Subject: [PATCH 1/2] net/colo-compare.c: Fix memory leak for non-tcp
> packet
> 
> Additional to removing the packet from the secondary queue, we also need
> to free it.
> 
> Signed-off-by: Lukas Straub <lukasstraub2@web.de>

Looks good to me.
Reviewed-by: Zhang Chen <chen.zhang@intel.com>

Thanks
Chen

> ---
>  net/colo-compare.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/net/colo-compare.c b/net/colo-compare.c index
> 337025b44f..eed0fbb27b 100644
> --- a/net/colo-compare.c
> +++ b/net/colo-compare.c
> @@ -690,6 +690,7 @@ static void colo_compare_packet(CompareState *s,
> Connection *conn,
> 
>          if (result) {
>              colo_release_primary_pkt(s, pkt);
> +            packet_destroy(result->data, NULL);
>              g_queue_remove(&conn->secondary_list, result->data);
>          } else {
>              /*
> --
> 2.20.1
diff mbox series

Patch

diff --git a/net/colo-compare.c b/net/colo-compare.c
index 337025b44f..eed0fbb27b 100644
--- a/net/colo-compare.c
+++ b/net/colo-compare.c
@@ -690,6 +690,7 @@  static void colo_compare_packet(CompareState *s, Connection *conn,

         if (result) {
             colo_release_primary_pkt(s, pkt);
+            packet_destroy(result->data, NULL);
             g_queue_remove(&conn->secondary_list, result->data);
         } else {
             /*