Ignore:
Timestamp:
Dec 11, 2015 4:59:56 AM (8 years ago)
Author:
ming
Message:

Fixed #1901: crash when async_cnt is set to a value greater than one for SIP TLS transport

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjlib/src/pj/ssl_sock_common.c

    r4860 r5214  
    2020#include <pj/assert.h> 
    2121#include <pj/errno.h> 
     22#include <pj/pool.h> 
    2223#include <pj/string.h> 
    2324 
     
    4647    /* Security config */ 
    4748    param->proto = PJ_SSL_SOCK_PROTO_DEFAULT; 
     49} 
     50 
     51 
     52/* 
     53 * Duplicate SSL socket parameter. 
     54 */ 
     55PJ_DEF(void) pj_ssl_sock_param_copy( pj_pool_t *pool,  
     56                                     pj_ssl_sock_param *dst, 
     57                                     const pj_ssl_sock_param *src) 
     58{ 
     59    /* Init secure socket param */ 
     60    pj_memcpy(dst, src, sizeof(*dst)); 
     61    if (src->ciphers_num > 0) { 
     62        unsigned i; 
     63        dst->ciphers = (pj_ssl_cipher*) 
     64                        pj_pool_calloc(pool, src->ciphers_num,  
     65                                       sizeof(pj_ssl_cipher)); 
     66        for (i = 0; i < src->ciphers_num; ++i) 
     67            dst->ciphers[i] = src->ciphers[i]; 
     68    } 
     69 
     70    if (src->server_name.slen) { 
     71        /* Server name must be null-terminated */ 
     72        pj_strdup_with_null(pool, &dst->server_name, &src->server_name); 
     73    } 
    4874} 
    4975 
Note: See TracChangeset for help on using the changeset viewer.