Blame SOURCES/0017-vdagentd-do-not-allow-to-use-an-already-used-file-xf.patch

93d60d
From 12708a0fc9f3da1d1cc492bb3a49844b02e76b40 Mon Sep 17 00:00:00 2001
93d60d
From: Uri Lublin <uril@redhat.com>
93d60d
Date: Sun, 11 Oct 2020 20:59:17 +0300
93d60d
Subject: [PATCH vd_agent_linux 17/17] vdagentd: do not allow to use an already
93d60d
 used file-xfer id
93d60d
93d60d
Signed-off-by: Uri Lublin <uril@redhat.com>
93d60d
Acked-by: Frediano Ziglio <fziglio@redhat.com>
93d60d
---
93d60d
 src/vdagentd/vdagentd.c | 7 +++++++
93d60d
 1 file changed, 7 insertions(+)
93d60d
93d60d
diff --git a/src/vdagentd/vdagentd.c b/src/vdagentd/vdagentd.c
93d60d
index 9243cfb..279e7c3 100644
93d60d
--- a/src/vdagentd/vdagentd.c
93d60d
+++ b/src/vdagentd/vdagentd.c
93d60d
@@ -404,6 +404,13 @@ static void do_client_file_xfer(VirtioPort *vport,
93d60d
                "Cancelling client file-xfer request %u",
93d60d
                s->id, VD_AGENT_FILE_XFER_STATUS_ERROR, (void*) &error, detail_size);
93d60d
             return;
93d60d
+        } else if (g_hash_table_lookup(active_xfers, GUINT_TO_POINTER(s->id)) != NULL) {
93d60d
+            // id is already used -- client is confused
93d60d
+            send_file_xfer_status(vport,
93d60d
+               "File transfer ID is already used. "
93d60d
+               "Cancelling client file-xfer request %u",
93d60d
+               s->id, VD_AGENT_FILE_XFER_STATUS_ERROR, NULL, 0);
93d60d
+            return;
93d60d
         }
93d60d
         msg_type = VDAGENTD_FILE_XFER_START;
93d60d
         id = s->id;
93d60d
-- 
93d60d
2.26.2
93d60d