pex-msg: ignore no-data responses if version is zero
authorFelix Fietkau <nbd@nbd.name>
Fri, 28 Feb 2025 15:05:21 +0000 (16:05 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 28 Feb 2025 15:05:22 +0000 (16:05 +0100)
These messages must not be allowed to cancel existing requests

Signed-off-by: Felix Fietkau <nbd@nbd.name>
pex-msg.c

index b45eda098c6b7dafb7cafd5ce56439334038a085..fef550509033270c1c9e245d6fbd69ce676a70b3 100644 (file)
--- a/pex-msg.c
+++ b/pex-msg.c
@@ -513,7 +513,7 @@ void *pex_msg_update_response_recv(const void *data, int len, enum pex_opcode op
        } else if (op == PEX_MSG_UPDATE_RESPONSE_NO_DATA) {
                const struct pex_update_response_no_data *res = data;
 
-               if (len < sizeof(*res))
+               if (len < sizeof(*res) || !res->cur_version)
                        return NULL;
 
                ctx = pex_msg_update_recv_ctx_get(res->req_id);