close socket to avoid memory leak when error occurs

This commit is contained in:
Gilles Depeyrot
2021-07-16 09:35:39 +08:00
committed by Max Lv
parent 8bcffa54b5
commit a19328a977
+2
View File
@@ -313,11 +313,13 @@ get_local_port()
serv_addr.sin_addr.s_addr = INADDR_ANY;
serv_addr.sin_port = 0;
if (bind(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) {
close(sock);
return 0;
}
socklen_t len = sizeof(serv_addr);
if (getsockname(sock, (struct sockaddr *)&serv_addr, &len) == -1) {
close(sock);
return 0;
}
if (close(sock) < 0) {