tbf: fix NULL pointer dereference in create_[ul|dl]_ass()

The problem is that bitvec_free() is not NULL-safe. Ideally we
need to fix it in libosmocore [1], but let's also fix it here,
so OsmoPCU can be safely used with older libosmocore versions.

[1] https://gerrit.osmocom.org/c/libosmocore/+/17114

Change-Id: I7647d17b3d03f8e193ef6e793a2d3c1967744eef
Fixes: CID#208181, CID#208179
This commit is contained in:
Vadim Yanitskiy 2020-02-09 03:37:43 +07:00
parent c74e217799
commit 9cbfe11ee2
1 changed files with 4 additions and 2 deletions

View File

@ -1303,7 +1303,8 @@ struct msgb *gprs_rlcmac_tbf::create_dl_ass(uint32_t fn, uint8_t ts)
return msg;
free_ret:
bitvec_free(ass_vec);
if (ass_vec != NULL)
bitvec_free(ass_vec);
talloc_free(mac_control_block);
msgb_free(msg);
return NULL;
@ -1398,7 +1399,8 @@ struct msgb *gprs_rlcmac_tbf::create_ul_ass(uint32_t fn, uint8_t ts)
return msg;
free_ret:
bitvec_free(ass_vec);
if (ass_vec != NULL)
bitvec_free(ass_vec);
talloc_free(mac_control_block);
msgb_free(msg);
return NULL;