Ignore:
Timestamp:
Jan 29, 2011, 9:57:55 PM (13 years ago)
Author:
djay
Message:

Small fix for embedded base64 string in XML request (QGIS WPS Client for instance).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/zoo-kernel/service_internal.c

    r93 r94  
    14001400          isSized=false;
    14011401        }
    1402         xmlAddChild(nc3,xmlNewText(BAD_CAST base64((const unsigned char*)toto->value,atoi(rs->value))));
     1402
     1403        xmlAddChild(nc3,xmlNewText(BAD_CAST base64(toto->value, atoi(rs->value))));
    14031404        if(!isSized){
    14041405          freeMap(&rs);
     
    17621763
    17631764  b64 = BIO_new(BIO_f_base64());
     1765  BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL);
    17641766  bmem = BIO_new(BIO_s_mem());
    17651767  b64 = BIO_push(b64, bmem);
     
    17681770  BIO_get_mem_ptr(b64, &bptr);
    17691771
    1770   char *buff = (char *)malloc(bptr->length);
     1772  char *buff = (char *)malloc((bptr->length)*sizeof(char));
    17711773  memcpy(buff, bptr->data, bptr->length-1);
    17721774  buff[bptr->length-1] = 0;
     
    17821784
    17831785  char *buffer = (char *)malloc(length);
    1784   memset(buffer, 0, length);
    1785 
    1786   b64 = BIO_new(BIO_f_base64());
    1787   bmem = BIO_new_mem_buf(input, length);
    1788   bmem = BIO_push(b64, bmem);
    1789 
    1790   *red=BIO_read(bmem, buffer, length);
    1791 
    1792   BIO_free_all(bmem);
    1793 
     1786  if(buffer){
     1787    memset(buffer, 0, length);
     1788    b64 = BIO_new(BIO_f_base64());
     1789    if(b64){
     1790      bmem = BIO_new_mem_buf(input,length);
     1791      bmem = BIO_push(b64, bmem);
     1792      *red=BIO_read(bmem, buffer, length);
     1793      buffer[length-1]=0;
     1794      BIO_free_all(bmem);
     1795    }
     1796  }
    17941797  return buffer;
    17951798}
     
    18021805      tmp=getMap(cursor->content,"value");
    18031806      addToMap(cursor->content,"base64_value",tmp->value);
     1807      int size=0;
    18041808      char *s=strdup(tmp->value);
    18051809      free(tmp->value);
    1806       int size=0;
    18071810      tmp->value=base64d(s,strlen(s),&size);
     1811      free(s);
    18081812      char sizes[1024];
    18091813      sprintf(sizes,"%d",size);
Note: See TracChangeset for help on using the changeset viewer.

Search

Context Navigation

ZOO Sponsors

http://www.zoo-project.org/trac/chrome/site/img/geolabs-logo.pnghttp://www.zoo-project.org/trac/chrome/site/img/neogeo-logo.png http://www.zoo-project.org/trac/chrome/site/img/apptech-logo.png http://www.zoo-project.org/trac/chrome/site/img/3liz-logo.png http://www.zoo-project.org/trac/chrome/site/img/gateway-logo.png

Become a sponsor !

Knowledge partners

http://www.zoo-project.org/trac/chrome/site/img/ocu-logo.png http://www.zoo-project.org/trac/chrome/site/img/gucas-logo.png http://www.zoo-project.org/trac/chrome/site/img/polimi-logo.png http://www.zoo-project.org/trac/chrome/site/img/fem-logo.png http://www.zoo-project.org/trac/chrome/site/img/supsi-logo.png http://www.zoo-project.org/trac/chrome/site/img/cumtb-logo.png

Become a knowledge partner

Related links

http://zoo-project.org/img/ogclogo.png http://zoo-project.org/img/osgeologo.png