[Freeswitch-dev] get_trillium_val() loop termination

Juraj Fabo juraj.fabo at gmail.com
Wed Feb 1 17:42:11 MSK 2012


Hi

I'm using freetdm from git downloaded on 30.1.2012.
On windows I had no problems, but on sles 11 sp1 64bit call setup message
was missing caller and called information elements.
I've tracked down the problem to file
src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c, into function
get_trillium_val()
Particularly, when get_trillium_val(ton_codes, 0, IN_TON_UNK) is called,
0xe6 is returned (which is from the nsf_spec_codes[] table)
I think the loop should have some strict terminate condition but not sure
about the write intention.
My workaround to be able to continue development is following

diff -urN src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c
src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support_mod.c
--- src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c   2012-02-01
14:02:30.000000000 +0000
+++ src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support_mod.c
2012-02-01 14:02:08.000000000 +0000
@@ -106,10 +106,11 @@
 static uint8_t get_trillium_val(ftdm2trillium_t *vals, uint8_t ftdm_val,
uint8_t default_val)
 {
        ftdm2trillium_t *val = vals;
-       while(val++) {
+       while(val) {
                if (val->ftdm_val == ftdm_val) {
                        return val->trillium_val;
                }
+                val++;
        }
        return default_val;
 }
@@ -117,10 +118,11 @@
 static uint8_t get_ftdm_val(ftdm2trillium_t *vals, uint8_t trillium_val,
uint8_t default_val)
 {
        ftdm2trillium_t *val = vals;
-       while(val++) {
+       while(val) {
                if (val->trillium_val == trillium_val) {
                        return val->ftdm_val;
                }
+                val++;
        }
        return default_val;
 }

 Is there some other way how to go around?

 Thank you

 Juraj
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20120201/d73cce33/attachment.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-dev mailing list