Fix file descriptor leak in serial.c

Found by Coverity as "CID 1348465:  Resource leaks".

Corresponding to flashrom svn r1915.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
diff --git a/serial.c b/serial.c
index 257578a..a64a51d 100644
--- a/serial.c
+++ b/serial.c
@@ -282,18 +282,20 @@
 	const int flags = fcntl(fd, F_GETFL);
 	if (flags == -1) {
 		msg_perr_strerror("Could not get serial port mode: ");
-		return SER_INV_FD;
+		goto err;
 	}
 	if (fcntl(fd, F_SETFL, flags & ~O_NONBLOCK) != 0) {
 		msg_perr_strerror("Could not set serial port mode to blocking: ");
-		return SER_INV_FD;
+		goto err;
 	}
 
 	if (serialport_config(fd, baud) != 0) {
-		close(fd);
-		return SER_INV_FD;
+		goto err;
 	}
 	return fd;
+err:
+	close(fd);
+	return SER_INV_FD;
 #endif
 }