libgcj/9684: java.lang.Socket leaks file desciptors on a connection timeout
gladish@spinnakernet.com
gladish@spinnakernet.com
Thu Feb 13 03:16:00 GMT 2003
>Number: 9684
>Category: libgcj
>Synopsis: java.lang.Socket leaks file desciptors on a connection timeout
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Feb 13 03:16:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: gladish@spinnakernet.com
>Release: gcj-3.1
>Organization:
>Environment:
redhat linux
>Description:
When using any of the public constructors that call the connect() method, an exception may be thrown if the connect() times out, which results in a leaked open file descriptor.
>How-To-Repeat:
>Fix:
48c48,53
< impl.connect(host, port);
---
> try {
> impl.connect(host, port);
> } catch (IOException e) {
> impl.close();
> throw e;
> }
62c67,72
< impl.connect(address, port);
---
> try {
> impl.connect(address, port);
> } catch (IOException e) {
> impl.close();
> throw e;
> }
74,75c84,90
< impl.bind(localAddr, localPort);
< impl.connect(host, port);
---
> try {
> impl.bind(localAddr, localPort);
> impl.connect(host, port);
> } catch (IOException e) {
> impl.close();
> throw e;
> }
87,88c102,108
< impl.bind(localAddr, localPort);
< impl.connect(address, port);
---
> try {
> impl.bind(localAddr, localPort);
> impl.connect(address, port);
> } catch (IOException e) {
> impl.close();
> throw e;
> }
98d117
< impl.create(stream);
101a121
> impl.create(stream);
105c125,130
< impl.connect(host, port);
---
> try {
> impl.connect(host, port);
> } catch (IOException e) {
> impl.close();
> throw e;
> }
115d139
< impl.create(stream);
118a143
> impl.create(stream);
122c147,152
< impl.connect(host, port);
---
> try {
> impl.connect(host, port);
> } catch (IOException e) {
> impl.close();
> throw e;
> }
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-bugs
mailing list