gprs_bssgp_pcu: Fix crash when configuring an existing ns bind
ns_configure_nse() only sets bind when it doesn't exist yet. If it already exists bind[i] stays NULL and causes a segfault in gprs_ns2_is_ip_bind() later on. This patch ensures bind[i] is either created of set to the existing bind. Change-Id: I103e82e6c64324c087a4ff325a83eeab0e5a4ee9 Related: SYS#4971
This commit is contained in:
parent
9ecdc11eb6
commit
dd28f82747
|
@ -1118,7 +1118,8 @@ static int ns_configure_nse(struct gprs_rlcmac_bts *bts,
|
||||||
if (!(valid & (1 << i)))
|
if (!(valid & (1 << i)))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (!gprs_ns2_ip_bind_by_sockaddr(the_pcu->nsi, &local[i])) {
|
bind[i] = gprs_ns2_ip_bind_by_sockaddr(the_pcu->nsi, &local[i]);
|
||||||
|
if (!bind[i]) {
|
||||||
snprintf(name, sizeof(name), "pcu%u", i);
|
snprintf(name, sizeof(name), "pcu%u", i);
|
||||||
rc = gprs_ns2_ip_bind(the_pcu->nsi, name, &local[i], 0, &bind[i]);
|
rc = gprs_ns2_ip_bind(the_pcu->nsi, name, &local[i], 0, &bind[i]);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
|
|
Loading…
Reference in New Issue