[asterisk-bugs] [LibSS7 0015565]: Wrong program logic (LFU will NOT be sent)

Asterisk Bug Tracker noreply at bugs.digium.com
Sun Aug 2 14:32:14 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=15565 
====================================================================== 
Reported By:                Tian00di00
Assigned To:                mattf
====================================================================== 
Project:                    LibSS7
Issue ID:                   15565
Category:                   General
Reproducibility:            have not tried
Severity:                   major
Priority:                   normal
Status:                     assigned
Asterisk Version:           1.6.0.10 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 269 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             2009-07-23 22:59 CDT
Last Modified:              2009-08-02 14:32 CDT
====================================================================== 
Summary:                    Wrong program logic (LFU will NOT be sent)
Description: 
Version SVN
SVN Trunk
SVN Revision 269

Source file: mtp3.c

Lines: 452-464

/* try force uninhibit */
if (i == ss7->numlinks) {
    for (i = 0; i < ss7->numlinks; i++) {
        if (ss7->links[i]->inhibit & INHIBITED_REMOTELY) {
            if (!(ss7->links[i]->got_sent_netmsg & SENT_LFU))
                break;  // **** This break should be deleted! ****
            AUTORL(rl, ss7->links[i]);
            net_mng_send(ss7->links[i], NET_MNG_LFU, rl, 0);
            ss7_message(ss7, "Forced uninhibiting remotely inhibited link

(no more signalling links are in service) SLC: %i ADJPC: %i\n", 
ss7->links[i]->slc, ss7->links[i]->dpc);
            break;
        }
    }
}

Bug description: the first 'break' keyword is misused and should be
deleted! 
Apparently the logic of the program is to check whether a LFU has been
sent 
to the far end, and if it is not the case, send a LFU, but the 'break' 
breaks the logic.

====================================================================== 

---------------------------------------------------------------------- 
 (0108518) adomjan (reporter) - 2009-08-02 14:32
 https://issues.asterisk.org/view.php?id=15565#c108518 
---------------------------------------------------------------------- 
you right partially...

it's for prevent sending more LFU, its ok without !

if (ss7->links[i]->got_sent_netmsg & SENT_LFU)
    break;

...

case NET_MNG_LUN:
                        winner->got_sent_netmsg &= ~SENT_LFU; 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-08-02 14:32 adomjan        Note Added: 0108518                          
======================================================================




More information about the asterisk-bugs mailing list