db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sunitha Kambhampati (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-901) Remove use of String(byte[]) constructors in network server leading to non-portable behaviour
Date Fri, 14 Apr 2006 21:06:01 GMT
    [ http://issues.apache.org/jira/browse/DERBY-901?page=comments#action_12374571 ] 

Sunitha Kambhampati commented on DERBY-901:
-------------------------------------------

There is one place in DRDAConnThread.readAndSetParams  where this non portable constructor
is used.
ln 
				case  DRDAConstants.DRDA_TYPE_NFIXBYTE:
			{
				byte[] paramVal = reader.readBytes();
				if (SanityManager.DEBUG) 
					trace("fix bytes parameter value is: "+new String(paramVal));
				ps.setBytes(i+1, paramVal);
				break;
			}

I can see two ways of fixing this,.
1) to change the trace message to say uses native encoding and leave it at that . 
2) change String to use "UTF-8"  encoding and add code to catch the unsupported encoding exception.


Does anyone have any opinions here ? 

Thanks. 

> Remove use of String(byte[]) constructors in network server leading to non-portable behaviour
> ---------------------------------------------------------------------------------------------
>
>          Key: DERBY-901
>          URL: http://issues.apache.org/jira/browse/DERBY-901
>      Project: Derby
>         Type: Bug

>   Components: Network Server
>     Reporter: Daniel John Debrunner
>     Assignee: Sunitha Kambhampati
>  Attachments: Derby901.p1.diff.txt, Derby901.p1.stat.txt, TestEnc.java
>
> These constructors use the Java default platform encoding to convert the bytes to a String,
this typically leads to bugs on platforms with different encodings.
> Replace with code using fixed conversion, or alternative mechanisms. 
> If the call is required its use should be commented as to why it is required.
> org.apache.derby.impl.drda.DRDAConnThread
> I generated this list using the Java search in eclipse for references to the constructors
> String(byte[])
> String(byte[],int,int) - no occurences found in java/drda

-- 
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


Mime
View raw message