Fixed OOME in header parsing, snapshots available

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Fixed OOME in header parsing, snapshots available

Christian Bauer
Administrator
I've received an anonymous bug report yesterday via private e-mail:

E/AndroidRuntime(17675): java.lang.OutOfMemoryError
E/AndroidRuntime(17675): 	at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:97)
E/AndroidRuntime(17675): 	at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:144)
E/AndroidRuntime(17675): 	at java.lang.StringBuilder.append(StringBuilder.java:125)
E/AndroidRuntime(17675): 	at org.teleal.common.http.Headers.readLine(Headers.java:193)
E/AndroidRuntime(17675): 	at org.teleal.common.http.Headers.<init>(Headers.java:73)
E/AndroidRuntime(17675): 	at org.teleal.cling.transport.impl.DatagramProcessorImpl.readResponseMessage(DatagramProcessorImpl.java:147)
The cause was a broken loop in teleal-common and the Http header line parsing of UDP advertisement datagrams. This should only happen if there was a UDP datagram with no headers at all, only an HTTP status line without a CRLF marker. I've committed a fix and you can either get the new readLine() method here or get a development snapshot of the whole distribution here. Or, you can keep beta3 of cling-core.jar and only update teleal-common.jar to 1.0.7 from the snapshot.

I will from now on post snapshots between releases.
Reply | Threaded
Open this post in threaded view
|

Re: Fixed OOME in header parsing, snapshots available

lordhong
Thank you :)