Ignore:
Timestamp:
Dec 9, 2009, 12:44:23 PM (12 years ago)
Author:
charles
Message:

(trunk libT) #2653 "transmission-remote-dotnet makes transmission-daemon segfault" -- fixed for 1.80

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libtransmission/utils.c

    r9671 r9696  
    10371037
    10381038char *
    1039 tr_base64_encode( const void * input,
    1040                   int          length,
    1041                   int *        setme_len )
    1042 {
    1043     char *    ret;
    1044     BIO *     b64;
    1045     BIO *     bmem;
    1046     BUF_MEM * bptr;
    1047 
    1048     if( length < 1 )
    1049         length = strlen( input );
    1050 
    1051     bmem = BIO_new( BIO_s_mem( ) );
    1052     b64 = BIO_new( BIO_f_base64( ) );
    1053     b64 = BIO_push( b64, bmem );
    1054     BIO_write( b64, input, length );
    1055     (void) BIO_flush( b64 );
    1056     BIO_get_mem_ptr( b64, &bptr );
    1057     ret = tr_strndup( bptr->data, bptr->length );
     1039tr_base64_encode( const void * input, int length, int * setme_len )
     1040{
     1041    int retlen = 0;
     1042    char * ret = NULL;
     1043
     1044    if( input != NULL )
     1045    {
     1046        BIO * b64;
     1047        BIO * bmem;
     1048        BUF_MEM * bptr;
     1049
     1050        if( length < 1 )
     1051            length = strlen( input );
     1052
     1053        bmem = BIO_new( BIO_s_mem( ) );
     1054        b64 = BIO_new( BIO_f_base64( ) );
     1055        b64 = BIO_push( b64, bmem );
     1056        BIO_write( b64, input, length );
     1057        (void) BIO_flush( b64 );
     1058        BIO_get_mem_ptr( b64, &bptr );
     1059        ret = tr_strndup( bptr->data, bptr->length );
     1060        retlen = bptr->length;
     1061        BIO_free_all( b64 );
     1062    }
     1063
    10581064    if( setme_len )
    1059         *setme_len = bptr->length;
    1060 
    1061     BIO_free_all( b64 );
     1065        *setme_len = retlen;
     1066
    10621067    return ret;
    10631068}
Note: See TracChangeset for help on using the changeset viewer.