You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@ws.apache.org by sn...@apache.org on 2002/06/17 06:18:00 UTC

cvs commit: xml-soap/java/src/org/apache/soap/transport TransportMessage.java

snichol     2002/06/16 21:18:00

  Modified:    java/src/org/apache/soap/transport TransportMessage.java
  Log:
  Prevent ArrayIndexOutOfBoundsException when checking for word-wrapped
  header parameters in save method.
  
  Based on e-mail from John Gregg <jo...@techarch.com>
  
  Revision  Changes    Path
  1.13      +7 -4      xml-soap/java/src/org/apache/soap/transport/TransportMessage.java
  
  Index: TransportMessage.java
  ===================================================================
  RCS file: /home/cvs/xml-soap/java/src/org/apache/soap/transport/TransportMessage.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- TransportMessage.java	22 May 2001 18:03:30 -0000	1.12
  +++ TransportMessage.java	17 Jun 2002 04:17:59 -0000	1.13
  @@ -319,10 +319,13 @@
               if (bytes[offset] == '\n') {
                   // JavaMail sometimes word-wraps header parameters to the
                   // next line. Throttle through that.
  -                if ((bytes[offset + 1] == ' ')
  -                    || (bytes[offset + 1] == '\t')) {
  -                    while ((bytes[(++offset) + 1] == ' ')
  -                           || (bytes[offset + 1] == '\t'));
  +                if ((offset + 1 < bytes.length) &&
  +                    ((bytes[offset + 1] == ' ') ||
  +                     (bytes[offset + 1] == '\t'))) {
  +                    while (((++offset) + 1 < bytes.length) &&
  +                           ((bytes[offset + 1] == ' ')
  +                           || (bytes[offset + 1] == '\t')))
  +                      ;
                       continue;
                   }
                   if (namebuf.length() == 0) {