From f9b3dd7ad5fdf7171bddbcd3e7f13573258ce581 Mon Sep 17 00:00:00 2001 From: Andrey Vagin Date: Wed, 27 Mar 2013 23:51:00 +0400 Subject: [PATCH] sk-inet: fix error handling Currently do_dump_one_inet_fd returns ret, but this variable is overwritten a few times and it can be zero on error paths. Use a separate variable for the function exit code. By default it is -1 and it is set to zero at the end. It's not changed anywere anywhere except these two places. Signed-off-by: Andrey Vagin Signed-off-by: Pavel Emelyanov --- sk-inet.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sk-inet.c b/sk-inet.c index 66366ac64..d1ef7f173 100644 --- a/sk-inet.c +++ b/sk-inet.c @@ -226,7 +226,7 @@ static int do_dump_one_inet_fd(int lfd, u32 id, const struct fd_parms *p, int fa struct inet_sk_desc *sk; InetSkEntry ie = INET_SK_ENTRY__INIT; SkOptsEntry skopts = SK_OPTS_ENTRY__INIT; - int ret = -1; + int ret = -1, err = -1; sk = (struct inet_sk_desc *)lookup_socket(p->stat.st_ino, family); if (!sk) { @@ -292,17 +292,17 @@ static int do_dump_one_inet_fd(int lfd, u32 id, const struct fd_parms *p, int fa switch (sk->proto) { case IPPROTO_TCP: - ret = dump_one_tcp(lfd, sk); + err = dump_one_tcp(lfd, sk); break; default: - ret = 0; + err = 0; break; } err: release_skopts(&skopts); xfree(ie.src_addr); xfree(ie.dst_addr); - return ret; + return err; } static int dump_one_inet_fd(int lfd, u32 id, const struct fd_parms *p)