From: Mark Wielaard Date: Thu, 2 Dec 2021 13:41:44 +0000 (+0100) Subject: valgrind-di-server.c: Fix minor file descriptor leak on error X-Git-Tag: VALGRIND_3_19_0~62 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=16ea9763be8b67f159df331cb294005976005513;p=thirdparty%2Fvalgrind.git valgrind-di-server.c: Fix minor file descriptor leak on error In handle_transaction when a file descriptor is opened for a file, but then cannot be stat or the file turns out to be zero size we leak the file descriptor. Call close (fd) before reporting error. --- diff --git a/auxprogs/valgrind-di-server.c b/auxprogs/valgrind-di-server.c index c6809bc3a9..a3357c004a 100644 --- a/auxprogs/valgrind-di-server.c +++ b/auxprogs/valgrind-di-server.c @@ -774,10 +774,12 @@ static Bool handle_transaction ( int conn_no ) int r = fstat(fd, &stat_buf); if (r != 0) { res = mk_Frame_asciiz("FAIL", "OPEN: cannot stat file"); + close(fd); ok = False; } if (ok && stat_buf.st_size == 0) { res = mk_Frame_asciiz("FAIL", "OPEN: file has zero size"); + close(fd); ok = False; } if (ok) {