[ http://issues.apache.org/jira/browse/DERBY-121?page=all ]
Samuel Andrew McIntyre closed DERBY-121:
----------------------------------------
Resolution: Fixed
Patch was committed with svn revision 179859. Closing.
> Network Server reading blob/clob data size
> ------------------------------------------
>
> Key: DERBY-121
> URL: http://issues.apache.org/jira/browse/DERBY-121
> Project: Derby
> Type: Bug
> Components: Network Server
> Versions: 10.1.0.0
> Environment: The is a bit shift typo in Network Server reading clob/blob data size
> Reporter: Lynh Nguyen
> Assignee: A B
> Priority: Minor
> Fix For: 10.1.0.0
> Attachments: derby-121_2.stat, derby-121_3.patch
>
> in DDMReader.java
> ...
> ... readLengthAndCodePoint() ... {
> ...
> switch (numberOfExtendedLenBytes) {
> case 8:
> ddmScalarLen =
> ((buffer[pos++] & 0xff) << 64) +
> ((buffer[pos++] & 0xff) << 56) +
> ((buffer[pos++] & 0xff) << 48) +
> ((buffer[pos++] & 0xff) << 40) +
> ((buffer[pos++] & 0xff) << 32) +
> ((buffer[pos++] & 0xff) << 16) +
> ((buffer[pos++] & 0xff) << 8) +
> ((buffer[pos++] & 0xff) << 0);
> adjustSize = 12;
> break;
> case 6:
> ddmScalarLen =
> ((buffer[pos++] & 0xff) << 48) +
> ((buffer[pos++] & 0xff) << 40) +
> ((buffer[pos++] & 0xff) << 32) +
> ((buffer[pos++] & 0xff) << 16) +
> ((buffer[pos++] & 0xff) << 8) +
> ((buffer[pos++] & 0xff) << 0);
> adjustSize = 10;
> break;
> case 4:
> ddmScalarLen =
> ((buffer[pos++] & 0xff) << 32) +
> ((buffer[pos++] & 0xff) << 16) +
> ((buffer[pos++] & 0xff) << 8) +
> ((buffer[pos++] & 0xff) << 0);
> adjustSize = 8;
> break;
> ...
> The shift bits should be in order:
> 0,8,16,24
> 0,8,16,24,32,40
> 0,8,16,24,32,40,48,56
> This will only affect a lob if its length requires at least 24 bits--i.e. if the lob
has a length of at least 2^24 bytes.
--
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
|