Great find Daniel,<div><br></div><div>lol, must be a sparc issue - we are running x86 and haven&#39;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">&lt;<a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>&gt;</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 &lt;<a href="mailto:miconda@gmail.com">miconda@gmail.com</a>&gt;<br>
Committer: Daniel-Constantin Mierla &lt;<a href="mailto:miconda@gmail.com">miconda@gmail.com</a>&gt;<br>
Date:   Mon Jun 11 14:32:44 2012 +0200<br>
<br>
registrar(k): don&#39;t access realm_prefix.s if len is &lt;=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-&gt;len++] = &#39;@&#39;;<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(&quot;realm prefix is [%.*s]\n&quot;, realm_prefix.len,<br>
-                               (realm_prefix.len&gt;0)?realm_prefix.s:&quot;&quot;);<br>
+               if(realm_prefix.len&gt;0) {<br>
+                       realm_prefix.s = cfg_get(registrar, registrar_cfg, realm_pref).s;<br>
+                       LM_DBG(&quot;realm prefix is [%.*s]\n&quot;, realm_prefix.len,<br>
+                                       (realm_prefix.len&gt;0)?realm_prefix.s:&quot;&quot;);<br>
+               }<br>
                if (realm_prefix.len&gt;0<br>
                                &amp;&amp; realm_prefix.len&lt;puri-&gt;host.len<br>
                                &amp;&amp; (memcmp(realm_prefix.s, puri-&gt;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>