Root/package/pjsip/patches/100-pjsua_acc__snprintf.patch

1--- a/pjsip/src/pjsua-lib/pjsua_acc.c
2+++ b/pjsip/src/pjsua-lib/pjsua_acc.c
3@@ -430,7 +430,7 @@
4              "<sip:%s%.*s%s:%d%s>",
5              beginquote,
6              (int)t->local_name.host.slen,
7- t->local_name.host.ptr,
8+ t->local_name.host.slen ? t->local_name.host.ptr : "",
9              endquote,
10              t->local_name.port,
11              transport_param);
12@@ -1158,18 +1158,18 @@
13     len = pj_ansi_snprintf(tmp, PJSIP_MAX_URL_SIZE,
14                    "<sip:%.*s%s%s%.*s%s:%d;transport=%s%.*s>%.*s",
15                    (int)acc->user_part.slen,
16- acc->user_part.ptr,
17+ acc->user_part.slen ? acc->user_part.ptr : "",
18                    (acc->user_part.slen? "@" : ""),
19                    beginquote,
20                    (int)via_addr->slen,
21- via_addr->ptr,
22+ via_addr->slen ? via_addr->ptr : "",
23                    endquote,
24                    rport,
25                    tp->type_name,
26                    (int)acc->cfg.contact_uri_params.slen,
27- acc->cfg.contact_uri_params.ptr,
28+ acc->cfg.contact_uri_params.slen ? acc->cfg.contact_uri_params.ptr : "",
29                    (int)acc->cfg.contact_params.slen,
30- acc->cfg.contact_params.ptr);
31+ acc->cfg.contact_params.slen ? acc->cfg.contact_params.ptr : "");
32     if (len < 1) {
33         PJ_LOG(1,(THIS_FILE, "URI too long"));
34         pj_pool_release(pool);
35@@ -2233,22 +2233,22 @@
36     contact->slen = pj_ansi_snprintf(contact->ptr, PJSIP_MAX_URL_SIZE,
37                      "%.*s%s<%s:%.*s%s%s%.*s%s:%d%s%.*s>%.*s",
38                      (int)acc->display.slen,
39- acc->display.ptr,
40+ acc->display.slen ? acc->display.ptr : "",
41                      (acc->display.slen?" " : ""),
42                      (secure ? PJSUA_SECURE_SCHEME : "sip"),
43                      (int)acc->user_part.slen,
44- acc->user_part.ptr,
45+ acc->user_part.slen ? acc->user_part.ptr : "",
46                      (acc->user_part.slen?"@":""),
47                      beginquote,
48                      (int)local_addr.slen,
49- local_addr.ptr,
50+ local_addr.slen ? local_addr.ptr : "",
51                      endquote,
52                      local_port,
53                      transport_param,
54                      (int)acc->cfg.contact_uri_params.slen,
55- acc->cfg.contact_uri_params.ptr,
56+ acc->cfg.contact_uri_params.slen ? acc->cfg.contact_uri_params.ptr : "",
57                      (int)acc->cfg.contact_params.slen,
58- acc->cfg.contact_params.ptr);
59+ acc->cfg.contact_params.slen ? acc->cfg.contact_params.ptr : "");
60 
61     return PJ_SUCCESS;
62 }
63@@ -2390,22 +2390,22 @@
64     contact->slen = pj_ansi_snprintf(contact->ptr, PJSIP_MAX_URL_SIZE,
65                      "%.*s%s<%s:%.*s%s%s%.*s%s:%d%s%.*s>%.*s",
66                      (int)acc->display.slen,
67- acc->display.ptr,
68+ acc->display.slen ? acc->display.ptr : "",
69                      (acc->display.slen?" " : ""),
70                      (secure ? PJSUA_SECURE_SCHEME : "sip"),
71                      (int)acc->user_part.slen,
72- acc->user_part.ptr,
73+ acc->user_part.slen ? acc->user_part.ptr : "",
74                      (acc->user_part.slen?"@":""),
75                      beginquote,
76                      (int)local_addr.slen,
77- local_addr.ptr,
78+ local_addr.slen ? local_addr.ptr : "",
79                      endquote,
80                      local_port,
81                      transport_param,
82                      (int)acc->cfg.contact_uri_params.slen,
83- acc->cfg.contact_uri_params.ptr,
84+ acc->cfg.contact_uri_params.slen ? acc->cfg.contact_uri_params.ptr : "",
85                      (int)acc->cfg.contact_params.slen,
86- acc->cfg.contact_params.ptr);
87+ acc->cfg.contact_params.slen ? acc->cfg.contact_params.ptr : "");
88 
89     return PJ_SUCCESS;
90 }
91

Archive Download this file



interactive