Misc (re #1151): fixed pjsua_acc_config_dup(), some fields, i.e: contact_params, contact_uri_params, and auth_pref, were not duplicated properly (thanks Roman Grachev for the report and the patch).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3377 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjsip/src/pjsip/sip_auth_client.c b/pjsip/src/pjsip/sip_auth_client.c
index df904e4..546c5ab 100644
--- a/pjsip/src/pjsip/sip_auth_client.c
+++ b/pjsip/src/pjsip/sip_auth_client.c
@@ -110,6 +110,14 @@
return result;
}
+PJ_DEF(void) pjsip_auth_clt_pref_dup( pj_pool_t *pool,
+ pjsip_auth_clt_pref *dst,
+ const pjsip_auth_clt_pref *src)
+{
+ pj_memcpy(dst, src, sizeof(pjsip_auth_clt_pref));
+ pj_strdup_with_null(pool, &dst->algorithm, &src->algorithm);
+}
+
/* Transform digest to string.
* output must be at least PJSIP_MD5STRLEN+1 bytes.
diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c
index 6ebd3bd..1cf273f 100644
--- a/pjsip/src/pjsua-lib/pjsua_acc.c
+++ b/pjsip/src/pjsua-lib/pjsua_acc.c
@@ -86,8 +86,12 @@
pj_strdup_with_null(pool, &dst->id, &src->id);
pj_strdup_with_null(pool, &dst->reg_uri, &src->reg_uri);
pj_strdup_with_null(pool, &dst->force_contact, &src->force_contact);
+ pj_strdup_with_null(pool, &dst->contact_params, &src->contact_params);
+ pj_strdup_with_null(pool, &dst->contact_uri_params,
+ &src->contact_uri_params);
pj_strdup_with_null(pool, &dst->pidf_tuple_id, &src->pidf_tuple_id);
- pj_strdup_with_null(pool, &dst->rfc5626_instance_id, &src->rfc5626_instance_id);
+ pj_strdup_with_null(pool, &dst->rfc5626_instance_id,
+ &src->rfc5626_instance_id);
pj_strdup_with_null(pool, &dst->rfc5626_reg_id, &src->rfc5626_reg_id);
dst->proxy_cnt = src->proxy_cnt;
@@ -112,6 +116,8 @@
}
}
+ pjsip_auth_clt_pref_dup(pool, &dst->auth_pref, &src->auth_pref);
+
dst->ka_interval = src->ka_interval;
pj_strdup(pool, &dst->ka_data, &src->ka_data);
}