diff options
| author | Yang Tse <yangsita@gmail.com> | 2009-12-03 20:37:49 +0000 | 
|---|---|---|
| committer | Yang Tse <yangsita@gmail.com> | 2009-12-03 20:37:49 +0000 | 
| commit | d14bf09ab8ca502a7d3b5d863d84efc1dfa0ad58 (patch) | |
| tree | ec08d7bafe0b6b109477fbee98d0023182495d0d /tests | |
| parent | 636d2fe00a4c09f3d9a857bee2c08117e325ea72 (diff) | |
Fix 'uploaded' file descriptor leak
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/server/tftpd.c | 10 | 
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/server/tftpd.c b/tests/server/tftpd.c index 9106836f2..c569085dc 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);  | 
