diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-07-17 18:08:54 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-07-17 18:26:49 +0200 |
commit | faeea348d6245fd7625bcb718a583283bc09f99d (patch) | |
tree | 73cf82779d8867328ace9f3e4974f037511b3450 /src/gprs/gprs_subscriber.c | |
parent | 9b5d7f6398295af2ea33493f72917f161e8048de (diff) |
sgsn: subscriber: Avoid calling memcpy with NULL src
Fixes: OS#3389
Change-Id: I2d1c01ed8b8d2233ced6d70972183ed4fc99007a
Diffstat (limited to 'src/gprs/gprs_subscriber.c')
-rw-r--r-- | src/gprs/gprs_subscriber.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gprs/gprs_subscriber.c b/src/gprs/gprs_subscriber.c index 1bebc6526..dfd697b72 100644 --- a/src/gprs/gprs_subscriber.c +++ b/src/gprs/gprs_subscriber.c @@ -374,7 +374,11 @@ static void gprs_subscr_gsup_insert_data(struct gprs_subscr *subscr, pdp_data->pdp_type = pdp_info->pdp_type; osmo_apn_to_str(pdp_data->apn_str, pdp_info->apn_enc, pdp_info->apn_enc_len); - memcpy(pdp_data->qos_subscribed, pdp_info->qos_enc, pdp_info->qos_enc_len); + + if (pdp_info->qos_enc) { + memcpy(&pdp_data->qos_subscribed[0], pdp_info->qos_enc, + pdp_info->qos_enc_len); + } pdp_data->qos_subscribed_len = pdp_info->qos_enc_len; if (pdp_info->pdp_charg_enc && pdp_info->pdp_charg_enc_len >= sizeof(pdp_data->pdp_charg)) { |