diff --git a/app/src/main/cpp/baresip.c b/app/src/main/cpp/baresip.c index 056e805e..e719cbec 100644 --- a/app/src/main/cpp/baresip.c +++ b/app/src/main/cpp/baresip.c @@ -454,7 +454,7 @@ Java_com_tutpro_baresip_BaresipService_baresipStart(JNIEnv *env, jobject instanc dnsc_cache_max(net_dnsc(baresip_network()), 0); if (strlen(addrs) > 0) { - char* addr_list = (char*)malloc(strlen(addrs)); + char *addr_list = (char *)malloc(strlen(addrs) + 1); struct sa temp_sa; char buf[256]; net_flush_addresses(baresip_network()); @@ -466,10 +466,10 @@ Java_com_tutpro_baresip_BaresipService_baresipStart(JNIEnv *env, jobject instanc ptr = strtok(NULL, ";"); net_add_address_ifname(baresip_network(), &temp_sa, ptr); } else { - LOGE("invalid ip address %s\n", ptr); + LOGE("invalid ip address (%s)\n", ptr); ptr = strtok(NULL, ";"); - res = EAFNOSUPPORT; } + *(ptr - 1) = ';'; ptr = strtok(NULL, ";"); } free(addr_list);