Great find Daniel,<div><br></div><div>lol, must be a sparc issue - we are running x86 and haven't come across this...... bizarre.</div><div><br></div><div>Cheers</div><div>Jason<br><br><div class="gmail_quote">On Mon, Jun 11, 2012 at 2:34 PM, Daniel-Constantin Mierla <span dir="ltr"><<a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Module: sip-router<br>
Branch: master<br>
Commit: 0c7b9304efd5954cf53ba13a065b05a277efc91f<br>
URL: <a href="http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=0c7b9304efd5954cf53ba13a065b05a277efc91f" target="_blank">http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=0c7b9304efd5954cf53ba13a065b05a277efc91f</a><br>
<br>
Author: Daniel-Constantin Mierla <<a href="mailto:miconda@gmail.com">miconda@gmail.com</a>><br>
Committer: Daniel-Constantin Mierla <<a href="mailto:miconda@gmail.com">miconda@gmail.com</a>><br>
Date: Mon Jun 11 14:32:44 2012 +0200<br>
<br>
registrar(k): don't access realm_prefix.s if len is <=0<br>
<br>
- solaris is not happy accessing .s struct field if set to 0<br>
<br>
---<br>
<br>
modules_k/registrar/common.c | 10 ++++++----<br>
1 files changed, 6 insertions(+), 4 deletions(-)<br>
<br>
diff --git a/modules_k/registrar/common.c b/modules_k/registrar/common.c<br>
index c682f15..7cb179f 100644<br>
--- a/modules_k/registrar/common.c<br>
+++ b/modules_k/registrar/common.c<br>
@@ -54,7 +54,7 @@ int extract_aor(str* _uri, str* _a, sip_uri_t *_pu)<br>
sip_uri_t *puri;<br>
int user_len;<br>
str *uri;<br>
- str realm_prefix;<br>
+ str realm_prefix = {0};<br>
<br>
memset(aor_buf, 0, MAX_AOR_LEN);<br>
uri=_uri;<br>
@@ -93,10 +93,12 @@ int extract_aor(str* _uri, str* _a, sip_uri_t *_pu)<br>
if (user_len)<br>
aor_buf[_a->len++] = '@';<br>
/* strip prefix (if defined) */<br>
- realm_prefix.s = cfg_get(registrar, registrar_cfg, realm_pref).s;<br>
realm_prefix.len = cfg_get(registrar, registrar_cfg, realm_pref).len;<br>
- LM_DBG("realm prefix is [%.*s]\n", realm_prefix.len,<br>
- (realm_prefix.len>0)?realm_prefix.s:"");<br>
+ if(realm_prefix.len>0) {<br>
+ realm_prefix.s = cfg_get(registrar, registrar_cfg, realm_pref).s;<br>
+ LM_DBG("realm prefix is [%.*s]\n", realm_prefix.len,<br>
+ (realm_prefix.len>0)?realm_prefix.s:"");<br>
+ }<br>
if (realm_prefix.len>0<br>
&& realm_prefix.len<puri->host.len<br>
&& (memcmp(realm_prefix.s, puri->host.s, realm_prefix.len)==0))<br>
<br>
<br>
_______________________________________________<br>
sr-dev mailing list<br>
<a href="mailto:sr-dev@lists.sip-router.org">sr-dev@lists.sip-router.org</a><br>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a><br>
</blockquote></div><br></div>