From d14bf09ab8ca502a7d3b5d863d84efc1dfa0ad58 Mon Sep 17 00:00:00 2001
From: Yang Tse <yangsita@gmail.com>
Date: Thu, 3 Dec 2009 20:37:49 +0000
Subject: [PATCH] Fix 'uploaded' file descriptor leak

---
 tests/server/tftpd.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tests/server/tftpd.c b/tests/server/tftpd.c
index 9106836f22..c569085dc3 100644
--- a/tests/server/tftpd.c
+++ b/tests/server/tftpd.c
@@ -664,6 +664,8 @@ int main(int argc, char **argv)
   struct testcase test;
   int result = 0;
 
+  memset(&test, 0, sizeof(test));
+
   while(argc>arg) {
     if(!strcmp("--version", argv[arg])) {
       printf("tftpd IPv4%s\n",
@@ -810,6 +812,11 @@ int main(int argc, char **argv)
     sclose(peer);
     peer = CURL_SOCKET_BAD;
 
+    if(test.ofile > 0) {
+      close(test.ofile);
+      test.ofile = 0;
+    }
+
     if(got_exit_signal)
       break;
 
@@ -824,6 +831,9 @@ int main(int argc, char **argv)
 
 tftpd_cleanup:
 
+  if(test.ofile > 0)
+    close(test.ofile);
+
   if((peer != sock) && (peer != CURL_SOCKET_BAD))
     sclose(peer);
 
-- 
GitLab