Changeset 675 for trunk


Ignore:
Timestamp:
Apr 20, 2007, 2:11:58 PM (18 years ago)
Author:
dkearney
Message:

added buffer length check so we dont upset strncmp

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/core/RpEncode.cc

    r671 r675  
    141141    }
    142142
    143     if (strncmp(buf.bytes(),"@@RP-ENC:z\n",11) == 0) {
     143    if ((buf.size() > 11) && (strncmp(buf.bytes(),"@@RP-ENC:z\n",11) == 0)) {
    144144        outData.append(buf.bytes()+11,buf.size()-11);
    145145        if ( (decompress == 0) && (base64 == 0) ) {
     
    148148        }
    149149    }
    150     else if (strncmp(buf.bytes(),"@@RP-ENC:b64\n",13) == 0) {
     150    else if ((buf.size() > 13) && (strncmp(buf.bytes(),"@@RP-ENC:b64\n",13) == 0)) {
    151151        outData.append(buf.bytes()+13,buf.size()-13);
    152152        if ( (decompress == 0) && (base64 == 0) ) {
     
    155155        }
    156156    }
    157     else if (strncmp(buf.bytes(),"@@RP-ENC:zb64\n",14) == 0) {
     157    else if ((buf.size() > 14) && (strncmp(buf.bytes(),"@@RP-ENC:zb64\n",14) == 0)) {
    158158        outData.append(buf.bytes()+14,buf.size()-14);
    159159        if ( (decompress == 0) && (base64 == 0) ) {
Note: See TracChangeset for help on using the changeset viewer.