]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
protect switch_core_strdup from null db values
authorRupa Schomaker <rupa@rupa.com>
Tue, 3 Feb 2009 21:41:48 +0000 (21:41 +0000)
committerRupa Schomaker <rupa@rupa.com>
Tue, 3 Feb 2009 21:41:48 +0000 (21:41 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11621 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/applications/mod_lcr/mod_lcr.c

index 7e0eb431441ad1e9ed41fbf196be1786c623faba..83296cdbe5c9e91c64d5aaa343091b83f162df72 100644 (file)
@@ -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) {