diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2021-07-26 14:47:46 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2021-07-26 16:05:55 +0200 |
commit | 945be91032fdb962a09727ff7f816923b57105aa (patch) | |
tree | dc2e53d884b3b2bfd2f0a65d49cda43c0d9c674d /tests/edge | |
parent | 81db7334da9a716321ad49c946c33dbf7f8985e5 (diff) |
tests/tbf: Fix null pointer access if slowly stepping with gdb
When slowly debugging test_tbf_dl_llc_loss, bssgp_tx_llc_discarded() may
trigger, submitting events to the libosmogb code. Since it didn't
properly set up the callback, it would end up in a null pointer
dereference when lib code tried to use backward-compatible API (which
was neither set up properly).
"""
TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Discarding LLC PDU because lifetime limit reached, count=3 new_queue_size=0
BSSGP (BVCI=2234) Tx LLC-DISCARDED TLLI=0xc0123456, FRAMES=3, OCTETS=57
/git/libosmocore/src/gb/gprs_ns.c:271:2: runtime error: member access within null pointer of type 'struct gprs_ns_inst'
"""
"""
(gdb) bt
#0 0x00007ffff729cac0 in gprs_active_nsvc_by_nsei (nsi=nsi@entry=0x0, nsei=2234, bvci=bvci@entry=0)
at /git/libosmocore/src/gb/gprs_ns.c:271
#1 0x00007ffff72b1fec in gprs_ns_sendmsg (nsi=0x0, msg=0x621000000160) at /git/libosmocore/src/gb/gprs_ns.c:1087
#2 0x00007ffff72d1803 in _gprs_ns_sendmsg (ctx=<optimized out>, msg=<optimized out>) at /git/libosmocore/src/gb/gprs_bssgp.c:80
#3 0x00007ffff730226f in bssgp_tx_llc_discarded (bctx=<optimized out>, tlli=<optimized out>, num_frames=<optimized out>, num_octets=<optimized out>)
at /git/libosmocore/src/gb/gprs_bssgp_bss.c:249
#4 0x000055555588243e in gprs_rlcmac_dl_tbf::llc_dequeue (this=0x7ffff1622860, bctx=<optimized out>)
at /git/osmo-pcu/src/tbf_dl.cpp:413
"""
Change-Id: Iee5bcf21afc8980a14f90f5b1ead6d2460a244ea
Diffstat (limited to 'tests/edge')
0 files changed, 0 insertions, 0 deletions