[security-dev 00948]: Re: code review request 6853793: OutOfMemoryError in sun.security.provider.certpath.OCSPChecker.check
Weijun Wang
Weijun.Wang at Sun.COM
Thu Jul 2 10:03:36 UTC 2009
I understand what the code means. It either reads contentLength bytes of
data, or, if it's -1, reads until EOF.
However, I guess it would look simpler if you use only one while(read):
if (contentLength == -1) {
resp = new byte[contentLength];
} else {
resp = new byte[2048];
contentLength = Integer.MAX_VALUE;
}
while (total < contentLength) {
count = in.read(resp, total, resp.len-total)
if (count < 0) break;
total += count;
if (total almost exceeds resp len) {
resp = Arrays.copyOf(resp, resp.len*2);
}
}
Also, I guess the response should be truncated back to total after the
reading is complete.
response = Arrays.copyOf(response, total);
Thanks
Max
Xuelei Fan wrote:
> Hi,
>
> bug desc: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6853793
> webrv: http://cr.openjdk.java.net/~xuelei/6853793/webrev/
>
> no new regression test, trivial changes, hard to write a new test.
>
> Thanks,
> Xuelei
More information about the security-dev
mailing list