[PATCH 1/4] Each BTS can be configured for speech support (other than GSM full rate)

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Holger Hans Peter Freyther holger at freyther.de
Wed Jan 15 15:08:43 UTC 2014


On Tue, Jan 07, 2014 at 12:05:53PM +0100, Andreas Eversberg wrote:

>     Each BTS can be configured for speech support (other than GSM full rate)
>     
>     Speech codings which are not supported by BTS will be removed from the
>     bearer capability information element after parsing. This way it is not
>     required for the MNCC application to consider support of each BTS.
>     
>     Only GSM full rate is supported by default.


coverity complains about two issues. Make sure to put "Fixes: Coverity CID .."
into the commit message.


** CID 1155311:  Dereference after null check  (FORWARD_NULL)                                  
/src/libmsc/gsm_04_08.c: 1825 in gsm48_cc_rx_setup()                                           
                                                                                               
** CID 1155312:  Dereference after null check  (FORWARD_NULL)                                  
/src/libmsc/gsm_04_08.c: 1979 in gsm48_cc_rx_call_conf()                                       
                                                                                               
                                                                                               
_______________________________________________________________________________________________
+_________                                                                                     
*** CID 1155311:  Dereference after null check  (FORWARD_NULL)                                 
/src/libmsc/gsm_04_08.c: 1825 in gsm48_cc_rx_setup()                                           
1819                                                                                           
1820            /* bearer capability */                                                        
1821            if (TLVP_PRESENT(&tp, GSM48_IE_BEARER_CAP)) {                                  
1822                    setup.fields |= MNCC_F_BEARER_CAP;                                     
1823                    gsm48_decode_bearer_cap(&setup.bearer_cap,                             
1824                                      TLVP_VAL(&tp, GSM48_IE_BEARER_CAP)-1);               
>>>     CID 1155311:  Dereference after null check  (FORWARD_NULL)                             
>>>     Dereferencing null pointer "trans->conn".                                              
1825                    apply_codec_restrictions(trans->conn->bts, &setup.bearer_cap);         
1826            }                                                                              
1827            /* facility */                                                                 
1828            if (TLVP_PRESENT(&tp, GSM48_IE_FACILITY)) {                                    
1829                    setup.fields |= MNCC_F_FACILITY;                                       
1830                    gsm48_decode_facility(&setup.facility,  



*** CID 1155312:  Dereference after null check  (FORWARD_NULL)                                 
/src/libmsc/gsm_04_08.c: 1979 in gsm48_cc_rx_call_conf()                                       
1973     #endif  
1974            /* bearer capability */                                                        
1975            if (TLVP_PRESENT(&tp, GSM48_IE_BEARER_CAP)) {                                  
1976                    call_conf.fields |= MNCC_F_BEARER_CAP;                                 
1977                    gsm48_decode_bearer_cap(&call_conf.bearer_cap,                         
1978                                      TLVP_VAL(&tp, GSM48_IE_BEARER_CAP)-1);               
>>>     CID 1155312:  Dereference after null check  (FORWARD_NULL)                             
>>>     Dereferencing null pointer "trans->conn".                                              
1979                    apply_codec_restrictions(trans->conn->bts, &call_conf.bearer_cap);     
1980            }                                                                              
1981            /* cause */                                                                    
1982            if (TLVP_PRESENT(&tp, GSM48_IE_CAUSE)) {                                       
1983                    call_conf.fields |= MNCC_F_CAUSE;                                      
1984                    gsm48_decode_cause(&call_conf.cause,     




More information about the OpenBSC mailing list