=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/sndiod/listen.c,v retrieving revision 1.11 retrieving revision 1.12 diff -c -r1.11 -r1.12 *** src/usr.bin/sndiod/listen.c 2016/01/08 16:22:09 1.11 --- src/usr.bin/sndiod/listen.c 2017/01/03 06:51:56 1.12 *************** *** 1,4 **** ! /* $OpenBSD: listen.c,v 1.11 2016/01/08 16:22:09 ratchov Exp $ */ /* * Copyright (c) 2008 Alexandre Ratchov * --- 1,4 ---- ! /* $OpenBSD: listen.c,v 1.12 2017/01/03 06:51:56 ratchov Exp $ */ /* * Copyright (c) 2008 Alexandre Ratchov * *************** *** 240,247 **** if (fcntl(sock, F_SETFL, O_NONBLOCK) < 0) { file_log(f->file); log_puts(": failed to set non-blocking mode\n"); ! close(sock); ! return; } if (f->path == NULL) { opt = 1; --- 240,246 ---- if (fcntl(sock, F_SETFL, O_NONBLOCK) < 0) { file_log(f->file); log_puts(": failed to set non-blocking mode\n"); ! goto bad_close; } if (f->path == NULL) { opt = 1; *************** *** 249,262 **** &opt, sizeof(int)) < 0) { file_log(f->file); log_puts(": failed to set TCP_NODELAY flag\n"); ! close(sock); ! return; } } ! if (sock_new(sock) == NULL) { ! close(sock); ! return; ! } } void --- 248,261 ---- &opt, sizeof(int)) < 0) { file_log(f->file); log_puts(": failed to set TCP_NODELAY flag\n"); ! goto bad_close; } } ! if (sock_new(sock) == NULL) ! goto bad_close; ! return; ! bad_close: ! close(sock); } void