From 4e5b8fb8e2d989789e18b31f9aed969c8fa43cdb Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Fri, 7 Oct 2011 10:03:44 +0200 Subject: [PATCH] server: fix bad interpretation of local socket binding Signed-off-by: Jens Axboe --- server.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/server.c b/server.c index 524c8146..61bbe44e 100644 --- a/server.c +++ b/server.c @@ -827,7 +827,7 @@ int fio_server_parse_string(const char *str, char **ptr, int *is_sock, */ static int fio_handle_server_arg(void) { - int unused; + int is_sock, ret; saddr_in.sin_addr.s_addr = htonl(INADDR_ANY); saddr_in.sin_port = htons(fio_net_port); @@ -835,8 +835,15 @@ static int fio_handle_server_arg(void) if (!fio_server_arg) return 0; - return fio_server_parse_string(fio_server_arg, &bind_sock, &unused, + ret = fio_server_parse_string(fio_server_arg, &bind_sock, &is_sock, &fio_net_port, &saddr_in.sin_addr); + + if (!is_sock && bind_sock) { + free(bind_sock); + bind_sock = NULL; + } + + return ret; } static int fio_server(void) -- 2.25.1