From: Rupa Schomaker Date: Tue, 3 Feb 2009 21:41:48 +0000 (+0000) Subject: protect switch_core_strdup from null db values X-Git-Tag: v1.0.3~469 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80ed8c86fc4c6e2a9a39b9918bd6d92549122206;p=thirdparty%2Ffreeswitch.git protect switch_core_strdup from null db values git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11621 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/src/mod/applications/mod_lcr/mod_lcr.c b/src/mod/applications/mod_lcr/mod_lcr.c index 7e0eb43144..83296cdbe5 100644 --- a/src/mod/applications/mod_lcr/mod_lcr.c +++ b/src/mod/applications/mod_lcr/mod_lcr.c @@ -296,16 +296,16 @@ int route_add_callback(void *pArg, int argc, char **argv, char **columnNames) additional = switch_core_alloc(pool, sizeof(lcr_obj_t)); additional->digit_len = strlen(argv[LCR_DIGITS_PLACE]); - additional->digit_str = switch_core_strdup(pool, argv[LCR_DIGITS_PLACE]); - additional->suffix = switch_core_strdup(pool, argv[LCR_SUFFIX_PLACE]); - additional->prefix = switch_core_strdup(pool, argv[LCR_PREFIX_PLACE]); - additional->carrier_name = switch_core_strdup(pool, argv[LCR_CARRIER_PLACE]); - additional->rate = (float)atof(argv[LCR_RATE_PLACE]); + additional->digit_str = switch_core_strdup(pool, switch_str_nil(argv[LCR_DIGITS_PLACE])); + additional->suffix = switch_core_strdup(pool, switch_str_nil(argv[LCR_SUFFIX_PLACE])); + additional->prefix = switch_core_strdup(pool, switch_str_nil(argv[LCR_PREFIX_PLACE])); + additional->carrier_name = switch_core_strdup(pool, switch_str_nil(argv[LCR_CARRIER_PLACE])); + additional->rate = (float)atof(switch_str_nil(argv[LCR_RATE_PLACE])); additional->rate_str = switch_core_sprintf(pool, "%0.5f", additional->rate); - additional->gw_prefix = switch_core_strdup(pool, argv[LCR_GW_PREFIX_PLACE]); - additional->gw_suffix = switch_core_strdup(pool, argv[LCR_GW_SUFFIX_PLACE]); - additional->lstrip = atoi(argv[LCR_LSTRIP_PLACE]); - additional->tstrip = atoi(argv[LCR_TSTRIP_PLACE]); + additional->gw_prefix = switch_core_strdup(pool, switch_str_nil(argv[LCR_GW_PREFIX_PLACE])); + additional->gw_suffix = switch_core_strdup(pool, switch_str_nil(argv[LCR_GW_SUFFIX_PLACE])); + additional->lstrip = atoi(switch_str_nil(argv[LCR_LSTRIP_PLACE])); + additional->tstrip = atoi(switch_str_nil(argv[LCR_TSTRIP_PLACE])); additional->dialstring = get_bridge_data(pool, cbt->lookup_number, additional); if (cbt->head == NULL) {