blob: 68b686346017af86d7dff9898ecbebdf5599a32f [file] [log] [blame]
From 3e5a0cb440c788e2383e40ab23ac1cf01d96961b Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Tue, 24 Jul 2018 01:30:25 -0700
Subject: [PATCH] src/tcp.c: fix jump-misses-init error
Fix below jump-misses-init error
| In file included from ../../git/src/tcp.c:51:
| ../../git/src/tcp.c: In function 'relpTcpConnect':
| ../../git/src/relp.h:220:3: error: jump skips variable initialization [-Werror=jump-misses-init]
| goto finalize_it; \
| ^~~~
| ../../git/src/tcp.c:1951:3: note: in expansion of macro 'ABORT_FINALIZE'
| ABORT_FINALIZE(RELP_RET_IO_ERR);
| ^~~~~~~~~~~~~~
| ../../git/src/tcp.c:2005:1: note: label 'finalize_it' defined here
| finalize_it:
| ^~~~~~~~~~~
| ../../git/src/tcp.c:1991:6: note: 'r' declared here
| int r = getsockopt(pThis->sock, SOL_SOCKET, SO_ERROR, &so_error, &len);
| ^
| In file included from ../../git/src/tcp.c:51:
| ../../git/src/relp.h:220:3: error: jump skips variable initialization [-Werror=jump-misses-init]
| goto finalize_it; \
| ^~~~
| ../../git/src/tcp.c:1951:3: note: in expansion of macro 'ABORT_FINALIZE'
| ABORT_FINALIZE(RELP_RET_IO_ERR);
| ^~~~~~~~~~~~~~
| ../../git/src/tcp.c:2005:1: note: label 'finalize_it' defined here
| finalize_it:
| ^~~~~~~~~~~
| ../../git/src/tcp.c:1989:12: note: 'len' declared here
| socklen_t len = sizeof so_error;
| ^~~
Upstream-Status: Submitted[https://github.com/rsyslog/librelp/pull/117]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
src/tcp.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/tcp.c b/src/tcp.c
index f35eb84..fb34dc7 100644
--- a/src/tcp.c
+++ b/src/tcp.c
@@ -1936,6 +1936,9 @@ relpTcpConnect(relpTcp_t *const pThis,
struct addrinfo hints;
struct addrinfo *reslocal = NULL;
struct pollfd pfd;
+ int so_error;
+ socklen_t len = sizeof so_error;
+ int r;
ENTER_RELPFUNC;
RELPOBJ_assert(pThis, Tcp);
@@ -1985,10 +1988,8 @@ relpTcpConnect(relpTcp_t *const pThis,
ABORT_FINALIZE(RELP_RET_TIMED_OUT);
}
- int so_error;
- socklen_t len = sizeof so_error;
- int r = getsockopt(pThis->sock, SOL_SOCKET, SO_ERROR, &so_error, &len);
+ r = getsockopt(pThis->sock, SOL_SOCKET, SO_ERROR, &so_error, &len);
if (r == -1 || so_error != 0) {
pThis->pEngine->dbgprint("socket has an error %d\n", so_error);
ABORT_FINALIZE(RELP_RET_IO_ERR);
--
2.17.1