osmo-msc/src/libmsc
Harald Welte 022193da73 smpp: Fix use-after-free bug when ESME disconnects but has write pending
When the SMPP code free's an ESME it also free's the related write_queue
and the osmo_fd contained therein.  So if this happens while we are
in esme_link_read_cb(), we must return -EBADF to make
osmo_wqueue_bfd_cb() of libosmocore avoid further accessing related
memory.

Change-Id: I441d3b05c2f2556c530783a7f66c73adf6d845a1
Closes: OS#5565
2022-05-16 17:33:42 +02:00
..
Makefile.am add sdp_msg API: SDP parsing/composition 2019-11-28 02:52:55 +01:00
call_leg.c call_leg: local_bridge: Avoid null pointer access if CN-side not ready 2022-01-13 15:40:08 +01:00
cell_id_list.c treewide: remove FSF address 2021-12-14 12:18:16 +01:00
ctrl_commands.c vlr_subscr: use osmo_use_count 2019-04-12 02:15:25 +02:00
db.c switch sqlite3 to single-threaded mode 2022-05-15 13:04:56 +02:00
e_link.c GSUP: include terminating nul in inter-MSC source/destination name 2019-05-08 17:02:32 +02:00
gsm_04_08.c fix crash on CM Serv Rej: fix use count mismatch 2022-05-04 23:43:11 +02:00
gsm_04_08_cc.c mncc: rework passing GCR over the MNCC interface 2021-11-03 21:12:52 +00:00
gsm_04_11.c libmsc: fix another memleak (struct gsm_sms) in gsm340_rx_tpdu() 2021-11-29 20:36:35 +00:00
gsm_04_11_gsup.c SMS-over-GSUP: notify sender if no transaction found 2021-04-04 14:09:32 +00:00
gsm_04_14.c gsm_04_14: fix off-by-one error in create_gsm0414_msg() 2020-07-29 05:28:54 +07:00
gsm_04_80.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
gsm_09_11.c Use new osmo stat items/ctr APIs 2021-06-04 16:53:16 +02:00
gsup_client_mux.c treewide: remove FSF address 2021-12-14 12:18:16 +01:00
mncc.c MNCC v6: add optional SDP to the socket protocol 2019-11-28 02:52:55 +01:00
mncc_builtin.c treewide: remove FSF address 2021-12-14 12:18:16 +01:00
mncc_call.c Use new osmo stat items/ctr APIs 2021-06-04 16:53:16 +02:00
mncc_sock.c treewide: remove FSF address 2021-12-14 12:18:16 +01:00
msc_a.c fix crash on CM Serv Rej: fix use count mismatch 2022-05-04 23:43:11 +02:00
msc_a_remote.c libmsc: fix memory leak (struct msgb) in msc_i_ran_enc() 2021-12-07 18:43:00 +03:00
msc_ho.c treewide: remove FSF address 2021-12-14 12:18:16 +01:00
msc_i.c call_leg: remove unused event MSC_EV_CALL_LEG_RTP_RELEASED 2019-05-10 07:13:41 +00:00
msc_i_remote.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
msc_net_init.c utran: use new UTRAN encryption enum 2021-11-17 20:18:52 +00:00
msc_t.c libmsc: fix memory leak (struct msgb) in msc_i_ran_enc() 2021-12-07 18:43:00 +03:00
msc_t_remote.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
msc_vty.c VTY: clarify deprecation message for cfg_net_per_loc_upd_cmd 2021-11-28 03:44:28 +03:00
msub.c libmsc: fix memory leak (struct msgb) in msc_i_ran_enc() 2021-12-07 18:43:00 +03:00
neighbor_ident.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
neighbor_ident_vty.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
paging.c Convert paging response timer into an osmocom own X4 timer 2020-09-26 21:45:09 +02:00
ran_conn.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
ran_infra.c Convert paging response timer into an osmocom own X4 timer 2020-09-26 21:45:09 +02:00
ran_msg.c treewide: remove FSF address 2021-12-14 12:18:16 +01:00
ran_msg_a.c treewide: remove FSF address 2021-12-14 12:18:16 +01:00
ran_msg_iu.c ran_msg_iu.c: Set proper codec in Assignment Complete 2022-01-07 18:50:23 +01:00
ran_peer.c drop duplicate ran_peer_find() vs ran_peer_find_by_addr() 2020-09-25 01:45:08 +02:00
rrlp.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
rtp_stream.c use osmo_sockaddr_str_is_nonzero() 2019-11-01 17:35:17 +01:00
sccp_ran.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
sdp_msg.c mncc: Support IPv6 addresses (new version mncc 7) 2020-09-14 12:41:00 +02:00
sgs_iface.c cosmetic: fix typos in comments 2021-08-24 11:42:15 +02:00
sgs_server.c libmsc/sgs_server.c: do not override rc in case of SCTP_SHUTDOWN_EVENT 2019-05-13 20:15:04 +00:00
sgs_vty.c libmsc: fix: properly initialize the SGs server 2019-03-28 17:10:11 +07:00
silent_call.c large refactoring: support inter-BSC and inter-MSC Handover 2019-05-08 17:02:32 +02:00
smpp_openbsc.c submit_to_sms(): fix the use of deprecated gsm_septets2octets() 2021-02-05 20:15:08 +01:00
smpp_smsc.c smpp: Fix use-after-free bug when ESME disconnects but has write pending 2022-05-16 17:33:42 +02:00
smpp_smsc.h libmsc: struct smsc: drop 'const' qualifier from bind_addr 2021-10-26 18:42:57 +00:00
smpp_utils.c dissolve libcommon: drop debug.c 2018-03-22 17:05:42 +01:00
smpp_vty.c smpp: Fix help string in vty for "alert-notifications" 2021-09-28 21:40:40 +02:00
sms_queue.c sms_queue: Introduce rate_ctr / stat_item 2022-05-16 10:30:43 +02:00
transaction.c libmsc: fix NULL pointer dereference in trans_lcls_compose() 2021-10-26 10:25:39 +03:00