diff options
author | Alexander Shiyan <shc_work@mail.ru> | 2014-02-03 13:40:21 +0400 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2014-02-06 11:45:55 +0100 |
commit | 24500fcaca7e7791187154bf03fbde5e7ecbe350 (patch) | |
tree | da69d351cb15b80878a4ec970af32a39e7eb069e | |
parent | 9a28d6918380e5dc5ba4e81cb5a4f4b0622f59b3 (diff) | |
download | libsocketcan-24500fcaca7e7791187154bf03fbde5e7ecbe350.tar.gz libsocketcan-24500fcaca7e7791187154bf03fbde5e7ecbe350.tar.xz |
libsocketcan: Fix return value for get{set}_link() function
This patch makes return value negative when open_nl_sock() function
fail and removes excess labels.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rw-r--r-- | src/libsocketcan.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/src/libsocketcan.c b/src/libsocketcan.c index 7a523d2..02714ae 100644 --- a/src/libsocketcan.c +++ b/src/libsocketcan.c @@ -508,20 +508,15 @@ static int do_get_nl_link(int fd, __u8 acquire, const char *name, void *res) */ static int get_link(const char *name, __u8 acquire, void *res) { - int fd; - int err = -1; + int err, fd; fd = open_nl_sock(); if (fd < 0) - goto err_out; + return -1; err = do_get_nl_link(fd, acquire, name, res); - if (err < 0) - goto close_out; - -close_out: close(fd); -err_out: + return err; } @@ -643,20 +638,15 @@ static int do_set_nl_link(int fd, __u8 if_state, const char *name, */ static int set_link(const char *name, __u8 if_state, struct req_info *req_info) { - int fd; - int err = 0; + int err, fd; fd = open_nl_sock(); if (fd < 0) - goto err_out; + return -1; err = do_set_nl_link(fd, if_state, name, req_info); - if (err < 0) - goto close_out; - -close_out: close(fd); -err_out: + return err; } |