]> jfr.im git - irc/weechat/weechat.git/commitdiff
xfer: fix use of uninitialized variable when adding a new xfer
authorSébastien Helleu <redacted>
Mon, 30 Oct 2023 11:28:00 +0000 (12:28 +0100)
committerSébastien Helleu <redacted>
Mon, 30 Oct 2023 22:29:05 +0000 (23:29 +0100)
src/plugins/xfer/xfer.c

index d775f7512578ca2f186abc4330041af388021a4e..314c512b137574d423728492babfa65010f012de 100644 (file)
@@ -1064,6 +1064,9 @@ xfer_add_cb (const void *pointer, void *data,
     token = weechat_infolist_string (infolist, "token");
     protocol = XFER_NO_PROTOCOL;
 
+    memset (&local_addr_storage, 0, sizeof (local_addr_storage));
+    local_addr_length = sizeof (local_addr_storage);
+
     if (!plugin_name || !plugin_id || !str_type || !remote_nick || !local_nick)
     {
         weechat_printf (NULL,
@@ -1234,8 +1237,6 @@ xfer_add_cb (const void *pointer, void *data,
         {
             /* no own_ip, so bind_addr's family comes from irc connection  */
             /* use the local interface, from the server socket */
-            memset (&local_addr_storage, 0, sizeof (local_addr_storage));
-            local_addr_length = sizeof (local_addr_storage);
             server_sock = weechat_infolist_integer (infolist, "socket");
             if (getsockname (server_sock, (struct sockaddr *)&local_addr_storage, &local_addr_length))
             {