[ http://issues.apache.org/jira/browse/DERBY-121?page=all ] A B closed DERBY-121: ---------------------
> 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
