From d2510459a8b5f4ae0ee3740dd36ca1c4abd290b6 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 24 Dec 2016 17:58:13 +0100 Subject: serial.c: Fix fd leak in case of fcntl() error paths Change-Id: I14f934957e1086b803f3a7b9b5e6d602380f0be2 Fixes: Coverity CID 158987 --- src/serial.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/serial.c') diff --git a/src/serial.c b/src/serial.c index 1cbd3c06..6316e459 100644 --- a/src/serial.c +++ b/src/serial.c @@ -73,14 +73,16 @@ osmo_serial_init(const char *dev, speed_t baudrate) flags = fcntl(fd, F_GETFL, 0); if (flags < 0) { dbg_perror("fcntl get flags"); - return -1; + rc = -errno; + goto error; } flags &= ~O_NONBLOCK; rc = fcntl(fd, F_SETFL, flags); if (rc != 0) { dbg_perror("fcntl set flags"); - return -1; + rc = -errno; + goto error; } /* Configure serial interface */ -- cgit v1.2.3