Changeset 635


Ignore:
Timestamp:
Jul 29, 2006 8:29:24 PM (18 years ago)
Author:
bennylp
Message:

Another take at fixing 64bit problems. PJ_MAX_OBJ_NAME is increased to 32 chars (from 16), and check all those sprintf's especially the ones with "%p" format.

Location:
pjproject/trunk
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjlib/include/pj/types.h

    r622 r635  
    280280 * Length of object names. 
    281281 */ 
    282 #define PJ_MAX_OBJ_NAME 16 
     282#define PJ_MAX_OBJ_NAME 32 
    283283 
    284284/* ************************************************************************* */ 
  • pjproject/trunk/pjlib/src/pj/except.c

    r577 r635  
    127127 
    128128    if (exception_id_names[id] == NULL) { 
    129         pj_ansi_sprintf(unknown_name, "exception %d", id); 
     129        pj_ansi_snprintf(unknown_name, sizeof(unknown_name),  
     130                         "exception %d", id); 
    130131        return unknown_name; 
    131132    } 
  • pjproject/trunk/pjlib/src/pj/guid_simple.c

    r338 r635  
    3737    static int guid_initialized; 
    3838    static unsigned pid; 
    39     static char str_pid[5]; 
    40     static unsigned char mac_addr[6]; 
    41     static char str_mac_addr[16]; 
     39    static char str_pid[32]; 
     40    static unsigned char mac_addr[32]; 
     41    static char str_mac_addr[32]; 
    4242    static unsigned clock_seq; 
    4343 
  • pjproject/trunk/pjlib/src/pj/os_core_linux_kernel.c

    r582 r635  
    139139    thread->terminate = 0; 
    140140 
    141     /* set name of this process (max 15 chars + 0 !) */ 
    142     thread->obj_name[15] = '\0'; 
     141    /* set name of this process (making sure obj_name is null  
     142     * terminated first)  
     143     */ 
     144    thread->obj_name[PJ_MAX_OBJ_NAME-1] = '\0'; 
    143145    sprintf(current->comm, thread->obj_name); 
    144146         
     
    267269        pj_sprintf(thread->obj_name, cstr_thread_name, thread->thread); 
    268270    else 
    269         pj_sprintf(thread->obj_name, "thr%p", (void*)thread->thread); 
     271        pj_snprintf(thread->obj_name, sizeof(thread->obj_name),  
     272                    "thr%p", (void*)thread->thread); 
    270273     
    271274    /* Initialize. */ 
  • pjproject/trunk/pjlib/src/pj/os_core_unix.c

    r582 r635  
    211211 
    212212    if(cstr_thread_name && pj_strlen(&thread_name) < sizeof(thread->obj_name)-1) 
    213         pj_ansi_sprintf(thread->obj_name, cstr_thread_name, thread->thread); 
     213        pj_ansi_snprintf(thread->obj_name, sizeof(thread->obj_name),  
     214                         cstr_thread_name, thread->thread); 
    214215    else 
    215         pj_ansi_sprintf(thread->obj_name, "thr%p", (void*)thread->thread); 
     216        pj_ansi_snprintf(thread->obj_name, sizeof(thread->obj_name),  
     217                         "thr%p", (void*)thread->thread); 
    216218     
    217219    rc = pj_thread_local_set(thread_tls_id, thread); 
  • pjproject/trunk/pjlib/src/pj/os_core_win32.c

    r582 r635  
    229229 
    230230    if (cstr_thread_name && pj_strlen(&thread_name) < sizeof(thread->obj_name)-1) 
    231         pj_ansi_sprintf(thread->obj_name, cstr_thread_name, thread->idthread); 
    232     else 
    233         pj_ansi_sprintf(thread->obj_name, "thr%p", (void*)thread->idthread); 
     231        pj_ansi_snprintf(thread->obj_name, sizeof(thread->obj_name),  
     232                         cstr_thread_name, thread->idthread); 
     233    else 
     234        pj_ansi_snprintf(thread->obj_name, sizeof(thread->obj_name),  
     235                         "thr%p", (void*)thread->idthread); 
    234236     
    235237    rc = pj_thread_local_set(thread_tls_id, thread); 
  • pjproject/trunk/pjlib/src/pj/os_error_linux_kernel.c

    r66 r635  
    5858                       char *buf, pj_size_t bufsize) 
    5959{ 
    60     char errmsg[32]; 
     60    char errmsg[PJ_ERR_MSG_SIZE]; 
    6161    int len; 
    6262     
     
    6565        strcpy(errmsg, "Invalid value"); 
    6666    else 
    67         sprintf(errmsg, "errno=%d", os_errcode); 
     67        snprintf(errmsg, sizeof(errmsg), "errno=%d", os_errcode); 
    6868     
    6969    len = strlen(errmsg); 
  • pjproject/trunk/pjlib/src/pj/pool.c

    r582 r635  
    151151    if (name) { 
    152152        if (strchr(name, '%') != NULL) { 
    153             pj_ansi_sprintf(pool->obj_name, name, pool); 
     153            pj_ansi_snprintf(pool->obj_name, sizeof(pool->obj_name),  
     154                             name, pool); 
    154155        } else { 
    155156            pj_ansi_strncpy(pool->obj_name, name, PJ_MAX_OBJ_NAME); 
  • pjproject/trunk/pjmedia/src/pjmedia/conference.c

    r633 r635  
    699699        name = &tmp; 
    700700 
    701         tmp.ptr = pj_pool_alloc(pool, 20); 
    702         tmp.slen = pj_ansi_sprintf(tmp.ptr, "ConfPort#%d", index); 
     701        tmp.ptr = pj_pool_alloc(pool, 32); 
     702        tmp.slen = pj_ansi_snprintf(tmp.ptr, 32, "ConfPort#%d", index); 
    703703    } 
    704704 
  • pjproject/trunk/pjmedia/src/pjmedia/endpoint.c

    r582 r635  
    471471        const char *type; 
    472472        pjmedia_codec_param param; 
    473         char bps[16]; 
     473        char bps[32]; 
    474474 
    475475        switch (codec_info[i].type) { 
  • pjproject/trunk/pjmedia/src/pjmedia/stream.c

    r633 r635  
    913913 
    914914{ 
     915    enum { M = 32 }; 
    915916    pjmedia_stream *stream; 
    916917    pj_str_t name; 
     
    927928 
    928929    /* Init stream/port name */ 
    929     name.ptr = pj_pool_alloc(pool, 24); 
    930     name.slen = pj_ansi_snprintf(name.ptr, 24, "strm%p", stream); 
     930    name.ptr = pj_pool_alloc(pool, M); 
     931    name.slen = pj_ansi_snprintf(name.ptr, M, "strm%p", stream); 
    931932 
    932933 
  • pjproject/trunk/pjsip-apps/src/samples/confbench.c

    r531 r635  
    142142                                   pjmedia_frame *frame) 
    143143{ 
    144     port_data *sine = port->user_data; 
     144    port_data *sine = port->port_data.pdata; 
    145145    pj_int16_t *samples = frame->buf; 
    146146    unsigned i, count, left, right; 
     
    212212 
    213213    /* Create sine port data */ 
    214     port->user_data = sine = pj_pool_zalloc(pool, sizeof(port_data)); 
     214    port->port_data.pdata = sine = pj_pool_zalloc(pool, sizeof(port_data)); 
    215215 
    216216    /* Create samples */ 
  • pjproject/trunk/pjsip-apps/src/samples/playsine.c

    r531 r635  
    8181                                   pjmedia_frame *frame) 
    8282{ 
    83     port_data *sine = port->user_data; 
     83    port_data *sine = port->port_data.pdata; 
    8484    pj_int16_t *samples = frame->buf; 
    8585    unsigned i, count, left, right; 
     
    151151 
    152152    /* Create sine port data */ 
    153     port->user_data = sine = pj_pool_zalloc(pool, sizeof(port_data)); 
     153    port->port_data.pdata = sine = pj_pool_zalloc(pool, sizeof(port_data)); 
    154154 
    155155    /* Create samples */ 
  • pjproject/trunk/pjsip/src/pjsip/sip_dialog.c

    r612 r635  
    7474 
    7575    dlg->pool = pool; 
    76     pj_ansi_sprintf(dlg->obj_name, "dlg%p", dlg); 
     76    pj_ansi_snprintf(dlg->obj_name, sizeof(dlg->obj_name), "dlg%p", dlg); 
    7777    dlg->ua = ua; 
    7878    dlg->endpt = endpt; 
  • pjproject/trunk/pjsip/src/pjsip/sip_transaction.c

    r623 r635  
    893893    tsx->endpt = mod_tsx_layer.endpt; 
    894894 
    895     pj_ansi_sprintf(tsx->obj_name, "tsx%p", tsx); 
     895    pj_ansi_snprintf(tsx->obj_name, sizeof(tsx->obj_name),  
     896                     "tsx%p", tsx); 
    896897 
    897898    tsx->handle_200resp = 1; 
  • pjproject/trunk/pjsip/src/pjsip/sip_transport.c

    r611 r635  
    374374PJ_DEF(char*) pjsip_rx_data_get_info(pjsip_rx_data *rdata) 
    375375{ 
    376     char obj_name[16]; 
     376    char obj_name[PJ_MAX_OBJ_NAME]; 
    377377 
    378378    PJ_ASSERT_RETURN(rdata->msg_info.msg, "INVALID MSG"); 
     
    382382 
    383383    pj_ansi_strcpy(obj_name, "rdata"); 
    384     pj_ansi_sprintf(obj_name+5, "%p", rdata); 
     384    pj_ansi_snprintf(obj_name+5, sizeof(obj_name)-5, "%p", rdata); 
    385385 
    386386    rdata->msg_info.info = get_msg_info(rdata->tp_info.pool, obj_name, 
  • pjproject/trunk/pjsip/src/pjsip/sip_transport_loop.c

    r563 r635  
    360360     
    361361    /* Initialize transport properties. */ 
    362     pj_ansi_sprintf(loop->base.obj_name, "loop%p", loop); 
     362    pj_ansi_snprintf(loop->base.obj_name, sizeof(loop->base.obj_name),  
     363                     "loop%p", loop); 
    363364    loop->base.pool = pool; 
    364365    status = pj_atomic_create(pool, 0, &loop->base.ref_cnt); 
  • pjproject/trunk/pjsip/src/pjsip/sip_transport_tcp.c

    r610 r635  
    168168                                   const pj_sockaddr_in *addr ) 
    169169{ 
    170     host_port->host.ptr = pj_pool_alloc(pool, 48); 
    171     host_port->host.slen = pj_ansi_sprintf( host_port->host.ptr, "%s",  
     170    enum { M = 48 }; 
     171    host_port->host.ptr = pj_pool_alloc(pool, M); 
     172    host_port->host.slen = pj_ansi_snprintf( host_port->host.ptr, M, "%s",  
    172173                                            pj_inet_ntoa(addr->sin_addr)); 
    173174    host_port->port = pj_ntohs(addr->sin_port); 
     
    260261    } 
    261262 
    262     pj_ansi_sprintf(listener->obj_name, "tcp:%d",  
    263                      (int)pj_ntohs(listener_addr->sin_port)); 
     263    pj_ansi_snprintf(listener->obj_name, sizeof(listener->obj_name),  
     264                     "tcp:%d",  (int)pj_ntohs(listener_addr->sin_port)); 
    264265 
    265266    /* Save the address name */ 
  • pjproject/trunk/pjsip/src/pjsip/sip_transport_udp.c

    r624 r635  
    404404                                                pjsip_transport **p_transport) 
    405405{ 
     406    enum { M = 80 }; 
    406407    pj_pool_t *pool; 
    407408    struct udp_transport *tp; 
     
    451452 
    452453    /* Object name. */ 
    453     pj_ansi_sprintf(tp->base.obj_name, "udp%p", tp); 
     454    pj_ansi_snprintf(tp->base.obj_name, sizeof(tp->base.obj_name),  
     455                     "udp%p", tp); 
    454456 
    455457    /* Init reference counter. */ 
     
    494496 
    495497    /* Transport info. */ 
    496     tp->base.info = pj_pool_alloc(pool, 80); 
    497     pj_ansi_sprintf(  
    498         tp->base.info, "udp %s:%d [published as %s:%d]", 
     498    tp->base.info = pj_pool_alloc(pool, M); 
     499    pj_ansi_snprintf(  
     500        tp->base.info, M, "udp %s:%d [published as %s:%d]", 
    499501        pj_inet_ntoa(((pj_sockaddr_in*)&tp->base.local_addr)->sin_addr), 
    500502        pj_ntohs(((pj_sockaddr_in*)&tp->base.local_addr)->sin_port), 
  • pjproject/trunk/pjsip/src/pjsua-lib/pjsua_acc.c

    r612 r635  
    290290    pjsua_acc_config cfg; 
    291291    struct transport_data *t = &pjsua_var.tpdata[tid]; 
    292     char uri[62]; 
     292    char uri[PJSIP_MAX_URL_SIZE]; 
    293293 
    294294    /* ID must be valid */ 
     
    301301 
    302302    /* Build URI for the account */ 
    303     pj_ansi_sprintf(uri, "<sip:%.*s:%d;transport=%s>",  
    304                          (int)t->local_name.host.slen, 
    305                          t->local_name.host.ptr, 
    306                          t->local_name.port, 
    307                          pjsip_transport_get_type_name(t->type)); 
     303    pj_ansi_snprintf(uri, PJSIP_MAX_URL_SIZE, 
     304                     "<sip:%.*s:%d;transport=%s>",  
     305                     (int)t->local_name.host.slen, 
     306                     t->local_name.host.ptr, 
     307                     t->local_name.port, 
     308                     pjsip_transport_get_type_name(t->type)); 
    308309 
    309310    cfg.id = pj_str(uri); 
  • pjproject/trunk/pjsip/src/pjsua-lib/pjsua_call.c

    r629 r635  
    12761276        int rem_port; 
    12771277        const char *dir; 
    1278         char last_update[40]; 
    1279         char packets[16], bytes[16], ipbytes[16]; 
     1278        char last_update[64]; 
     1279        char packets[32], bytes[32], ipbytes[32]; 
    12801280        pj_time_val now; 
    12811281 
  • pjproject/trunk/pjsip/src/test-pjsip/transport_tcp_test.c

    r624 r635  
    3535    pj_sockaddr_in rem_addr; 
    3636    pj_status_t status; 
    37     char url[64]; 
     37    char url[PJSIP_MAX_URL_SIZE]; 
    3838    int rtt[SEND_RECV_LOOP], min_rtt; 
    3939    int i, pkt_lost; 
  • pjproject/trunk/pjsip/src/test-pjsip/tsx_basic_test.c

    r563 r635  
    2424#define THIS_FILE   "tsx_basic_test.c" 
    2525 
    26 static char TARGET_URI[128]; 
    27 static char FROM_URI[128]; 
     26static char TARGET_URI[PJSIP_MAX_URL_SIZE]; 
     27static char FROM_URI[PJSIP_MAX_URL_SIZE]; 
    2828 
    2929 
Note: See TracChangeset for help on using the changeset viewer.