# HG changeset patch # User allwin # Date 1380544133 -7200 # Node ID 5ded5b92c1732ddda8cacd87e28fecb00f7f7cb1 # Parent dc2362a13fe932cbbcc31e503342a435e38da18e 8012923: [parfait] File Descriptor Leak in jdk/src/windows/demo/jvmti/hprof/hprof_md.c Reviewed-by: chegar, sla, sspitsyn, mgronlun diff -r dc2362a13fe9 -r 5ded5b92c173 jdk/src/windows/demo/jvmti/hprof/hprof_md.c --- a/jdk/src/windows/demo/jvmti/hprof/hprof_md.c Mon Sep 30 12:58:18 2013 +0200 +++ b/jdk/src/windows/demo/jvmti/hprof/hprof_md.c Mon Sep 30 14:28:53 2013 +0200 @@ -82,9 +82,6 @@ struct sockaddr_in s; int fd; - /* create a socket */ - fd = (int)socket(AF_INET, SOCK_STREAM, 0); - /* find remote host's addr from name */ if ((hentry = gethostbyname(hostname)) == NULL) { return -1; @@ -97,8 +94,15 @@ s.sin_port = htons(port); s.sin_family = AF_INET; + /* create a socket */ + fd = (int)socket(AF_INET, SOCK_STREAM, 0); + if (INVALID_SOCKET == fd) { + return 0; + } + /* now try connecting */ - if (-1 == connect(fd, (struct sockaddr*)&s, sizeof(s))) { + if (SOCKET_ERROR == connect(fd, (struct sockaddr*)&s, sizeof(s))) { + closesocket(fd); return 0; } return fd;