[ http://issues.apache.org/jira/browse/DERBY-1510?page=all ]
Kristian Waagan updated DERBY-1510:
-----------------------------------
Derby Info: [Patch Available]
> 'SQLBinary.readFromStream' can enter endless loop
> -------------------------------------------------
>
> Key: DERBY-1510
> URL: http://issues.apache.org/jira/browse/DERBY-1510
> Project: Derby
> Issue Type: Bug
> Components: JDBC, SQL
> Affects Versions: 10.2.0.0
> Reporter: Kristian Waagan
> Assigned To: Kristian Waagan
> Priority: Minor
> Attachments: derby-1510-1a.diff
>
>
> Under certain circumstances, the method 'SQLBinary.readFromStream' can enter
> an endless loop while reading the stream. The following must be true for the
> bug to occur:
> * There must be more data in the stream than what can fit into the initial
> buffer (32 K).
> * The method 'available' of the stream returns 0.
> Since the default return value for 'InputStream.available' is 0, and the
> method reading the stream can be used for data types CHAR FOR BIT DATA,
> VARCHAR FOR BIT DATA and LONG VARCHAR FOR BIT DATA, the bug should be fixed.
> The maximum length is 32700 bytes.
> The method will also be used by SQLBlob, but it may be better to introduce a
> new streaming method for it, since the current implementation has
> memory-problems for large data (materializes the whole stream). A separate
> issue should/will be created for this.
> The symptom for this bug is a hang when calling one of the execute methods of
> Prepared- or CallableStatement and maybe also certain set methods in
> ResultSet.
> The visibility of this bug is very low, but the impact is severe/critical.
> When the JDBC 4 length less streaming overloads are added (DERBY-1417),
> visibility might increase.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira