1From 0c23224e926463b1097414979367655a27fa6d60 Mon Sep 17 00:00:00 2001
2From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
3Date: Thu, 7 Apr 2022 18:27:58 +0200
4Subject: [PATCH] fix maybe-uninitialized errors
5
6Set {listen,server}_sock to -1 when needed as already done in
7src/manager.c by commit ecf1fcc84594b09ed2d61e3677cd8e62bd897ccb to
8avoid the following build failure:
9
10local.c: In function 'create_and_bind':
11local.c:218:12: error: 'listen_sock' may be used uninitialized in this function [-Werror=maybe-uninitialized]
12  218 |     return listen_sock;
13      |            ^~~~~~~~~~~
14
15Fixes:
16 - http://autobuild.buildroot.org/results/27471a878ff52a972ac087d534e44fb0c50808f6
17
18Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
19[Retrieved from:
20https://github.com/shadowsocks/shadowsocks-libev/commit/0c23224e926463b1097414979367655a27fa6d60]
21---
22 src/local.c    | 2 +-
23 src/redir.c    | 2 +-
24 src/server.c   | 2 +-
25 src/tunnel.c   | 2 +-
26 src/udprelay.c | 2 +-
27 5 files changed, 5 insertions(+), 5 deletions(-)
28
29diff --git a/src/local.c b/src/local.c
30index b1ab040bb..47d634ce5 100644
31--- a/src/local.c
32+++ b/src/local.c
33@@ -168,7 +168,7 @@ create_and_bind(const char *addr, const char *port)
34 {
35     struct addrinfo hints;
36     struct addrinfo *result, *rp;
37-    int s, listen_sock;
38+    int s, listen_sock = -1;
39
40     memset(&hints, 0, sizeof(struct addrinfo));
41     hints.ai_family   = AF_UNSPEC;   /* Return IPv4 and IPv6 choices */
42diff --git a/src/redir.c b/src/redir.c
43index 4a5a489f0..e60bd4870 100644
44--- a/src/redir.c
45+++ b/src/redir.c
46@@ -147,7 +147,7 @@ create_and_bind(const char *addr, const char *port)
47 {
48     struct addrinfo hints;
49     struct addrinfo *result, *rp;
50-    int s, listen_sock;
51+    int s, listen_sock = -1;
52
53     memset(&hints, 0, sizeof(struct addrinfo));
54     hints.ai_family   = AF_UNSPEC;   /* Return IPv4 and IPv6 choices */
55diff --git a/src/server.c b/src/server.c
56index e9cdc2619..073e38b22 100644
57--- a/src/server.c
58+++ b/src/server.c
59@@ -550,7 +550,7 @@ create_and_bind(const char *host, const char *port, int mptcp)
60 {
61     struct addrinfo hints;
62     struct addrinfo *result, *rp, *ipv4v6bindall;
63-    int s, listen_sock;
64+    int s, listen_sock = -1;
65
66     memset(&hints, 0, sizeof(struct addrinfo));
67     hints.ai_family   = AF_UNSPEC;               /* Return IPv4 and IPv6 choices */
68diff --git a/src/tunnel.c b/src/tunnel.c
69index e0886bdb9..6641fe62a 100644
70--- a/src/tunnel.c
71+++ b/src/tunnel.c
72@@ -129,7 +129,7 @@ create_and_bind(const char *addr, const char *port)
73 {
74     struct addrinfo hints;
75     struct addrinfo *result, *rp;
76-    int s, listen_sock;
77+    int s, listen_sock = -1;
78
79     memset(&hints, 0, sizeof(struct addrinfo));
80     hints.ai_family   = AF_UNSPEC;   /* Return IPv4 and IPv6 choices */
81diff --git a/src/udprelay.c b/src/udprelay.c
82index 23a042497..580ad4bd8 100644
83--- a/src/udprelay.c
84+++ b/src/udprelay.c
85@@ -446,7 +446,7 @@ create_server_socket(const char *host, const char *port)
86 {
87     struct addrinfo hints;
88     struct addrinfo *result, *rp, *ipv4v6bindall;
89-    int s, server_sock;
90+    int s, server_sock = -1;
91
92     memset(&hints, 0, sizeof(struct addrinfo));
93     hints.ai_family   = AF_UNSPEC;               /* Return IPv4 and IPv6 choices */
94