You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2005/09/26 03:12:00 UTC

svn commit: r291505 - /directory/asn1/branches/asn1-NameComponent/ber-new/src/java/main/org/apache/asn1new/ber/tlv/Value.java

Author: elecharny
Date: Sun Sep 25 18:11:55 2005
New Revision: 291505

URL: http://svn.apache.org/viewcvs?rev=291505&view=rev
Log:
Fixed a NPE

Modified:
    directory/asn1/branches/asn1-NameComponent/ber-new/src/java/main/org/apache/asn1new/ber/tlv/Value.java

Modified: directory/asn1/branches/asn1-NameComponent/ber-new/src/java/main/org/apache/asn1new/ber/tlv/Value.java
URL: http://svn.apache.org/viewcvs/directory/asn1/branches/asn1-NameComponent/ber-new/src/java/main/org/apache/asn1new/ber/tlv/Value.java?rev=291505&r1=291504&r2=291505&view=diff
==============================================================================
--- directory/asn1/branches/asn1-NameComponent/ber-new/src/java/main/org/apache/asn1new/ber/tlv/Value.java (original)
+++ directory/asn1/branches/asn1-NameComponent/ber-new/src/java/main/org/apache/asn1new/ber/tlv/Value.java Sun Sep 25 18:11:55 2005
@@ -251,23 +251,29 @@
 
         try 
         {
-            buffer.put( UniversalTag.OCTET_STRING_TAG );
-            byte[] value = null;
-            
             try 
             {
-            	value = string.getBytes("UTF-8");
-            } 
-            catch (UnsupportedEncodingException uee)
+                buffer.put( UniversalTag.OCTET_STRING_TAG );
+
+                if ( StringUtils.isEmpty( string ) )
+                {
+                    buffer.put( (byte)0x00 );
+                }
+                else
+                {
+                    byte[] value = string.getBytes( "UTF-8" );
+                    
+                    buffer.put( Length.getBytes( value.length ) );
+                    buffer.put( value );
+                }
+            }
+            catch ( BufferOverflowException boe )
             {
-            	throw new EncoderException("The Value encoding is not UTF-8");
+                throw new EncoderException("The PDU buffer size is too small !"); 
             }
-            
-            buffer.put( Length.getBytes( value.length ) );
-    
-            if ( value.length != 0 )
+            catch ( UnsupportedEncodingException uee )
             {
-                buffer.put( value );
+                throw new EncoderException("The String is not UTF-8 encoded !"); 
             }
         }
         catch ( BufferOverflowException boe )