[pjsip]
[openwrt.git] / package / pjsip / patches / 100-pjsua_acc__snprintf.patch
diff --git a/package/pjsip/patches/100-pjsua_acc__snprintf.patch b/package/pjsip/patches/100-pjsua_acc__snprintf.patch
new file mode 100644 (file)
index 0000000..cb34721
--- /dev/null
@@ -0,0 +1,90 @@
+--- a/pjsip/src/pjsua-lib/pjsua_acc.c
++++ b/pjsip/src/pjsua-lib/pjsua_acc.c
+@@ -430,7 +430,7 @@
+                    "<sip:%s%.*s%s:%d%s>", 
+                    beginquote,
+                    (int)t->local_name.host.slen,
+-                   t->local_name.host.ptr,
++                   t->local_name.host.slen ? t->local_name.host.ptr : "",
+                    endquote,
+                    t->local_name.port,
+                    transport_param);
+@@ -1158,18 +1158,18 @@
+       len = pj_ansi_snprintf(tmp, PJSIP_MAX_URL_SIZE,
+                              "<sip:%.*s%s%s%.*s%s:%d;transport=%s%.*s>%.*s",
+                              (int)acc->user_part.slen,
+-                             acc->user_part.ptr,
++                             acc->user_part.slen ? acc->user_part.ptr : "",
+                              (acc->user_part.slen? "@" : ""),
+                              beginquote,
+                              (int)via_addr->slen,
+-                             via_addr->ptr,
++                             via_addr->slen ? via_addr->ptr : "",
+                              endquote,
+                              rport,
+                              tp->type_name,
+                              (int)acc->cfg.contact_uri_params.slen,
+-                             acc->cfg.contact_uri_params.ptr,
++                             acc->cfg.contact_uri_params.slen ? acc->cfg.contact_uri_params.ptr : "",
+                              (int)acc->cfg.contact_params.slen,
+-                             acc->cfg.contact_params.ptr);
++                             acc->cfg.contact_params.slen ? acc->cfg.contact_params.ptr : "");
+       if (len < 1) {
+           PJ_LOG(1,(THIS_FILE, "URI too long"));
+           pj_pool_release(pool);
+@@ -2233,22 +2233,22 @@
+     contact->slen = pj_ansi_snprintf(contact->ptr, PJSIP_MAX_URL_SIZE,
+                                    "%.*s%s<%s:%.*s%s%s%.*s%s:%d%s%.*s>%.*s",
+                                    (int)acc->display.slen,
+-                                   acc->display.ptr,
++                                   acc->display.slen ? acc->display.ptr : "",
+                                    (acc->display.slen?" " : ""),
+                                    (secure ? PJSUA_SECURE_SCHEME : "sip"),
+                                    (int)acc->user_part.slen,
+-                                   acc->user_part.ptr,
++                                   acc->user_part.slen ? acc->user_part.ptr : "",
+                                    (acc->user_part.slen?"@":""),
+                                    beginquote,
+                                    (int)local_addr.slen,
+-                                   local_addr.ptr,
++                                   local_addr.slen ? local_addr.ptr : "",
+                                    endquote,
+                                    local_port,
+                                    transport_param,
+                                    (int)acc->cfg.contact_uri_params.slen,
+-                                   acc->cfg.contact_uri_params.ptr,
++                                   acc->cfg.contact_uri_params.slen ? acc->cfg.contact_uri_params.ptr : "",
+                                    (int)acc->cfg.contact_params.slen,
+-                                   acc->cfg.contact_params.ptr);
++                                   acc->cfg.contact_params.slen ? acc->cfg.contact_params.ptr : "");
+     return PJ_SUCCESS;
+ }
+@@ -2390,22 +2390,22 @@
+     contact->slen = pj_ansi_snprintf(contact->ptr, PJSIP_MAX_URL_SIZE,
+                                    "%.*s%s<%s:%.*s%s%s%.*s%s:%d%s%.*s>%.*s",
+                                    (int)acc->display.slen,
+-                                   acc->display.ptr,
++                                   acc->display.slen ? acc->display.ptr : "",
+                                    (acc->display.slen?" " : ""),
+                                    (secure ? PJSUA_SECURE_SCHEME : "sip"),
+                                    (int)acc->user_part.slen,
+-                                   acc->user_part.ptr,
++                                   acc->user_part.slen ? acc->user_part.ptr : "",
+                                    (acc->user_part.slen?"@":""),
+                                    beginquote,
+                                    (int)local_addr.slen,
+-                                   local_addr.ptr,
++                                   local_addr.slen ? local_addr.ptr : "",
+                                    endquote,
+                                    local_port,
+                                    transport_param,
+                                    (int)acc->cfg.contact_uri_params.slen,
+-                                   acc->cfg.contact_uri_params.ptr,
++                                   acc->cfg.contact_uri_params.slen ? acc->cfg.contact_uri_params.ptr : "",
+                                    (int)acc->cfg.contact_params.slen,
+-                                   acc->cfg.contact_params.ptr);
++                                   acc->cfg.contact_params.slen ? acc->cfg.contact_params.ptr : "");
+     return PJ_SUCCESS;
+ }
This page took 0.046894 seconds and 4 git commands to generate.