From a3afc4764cc18f5a49c6e3503fd327c75df11f34 Mon Sep 17 00:00:00 2001 From: Bostjan Meglic Date: Thu, 11 Jan 2024 12:33:37 +0100 Subject: [PATCH] memset input/output structure inside the function Instead of checking if caller memset'ted the structure to zero, memset it inside the function regardless. There is no added benefit of a memset() + memcmp() to check if caller cleared the structure used for outputing data from the database. --- lib/dbi/ims.c | 14 ++------------ lib/dbi/subscription.c | 7 +------ src/pcf/context.c | 6 +----- src/pcrf/pcrf-context.c | 6 +----- 4 files changed, 5 insertions(+), 28 deletions(-) diff --git a/lib/dbi/ims.c b/lib/dbi/ims.c index bdff0425c..927f2ce91 100644 --- a/lib/dbi/ims.c +++ b/lib/dbi/ims.c @@ -32,15 +32,10 @@ int ogs_dbi_msisdn_data( const char *utf8 = NULL; uint32_t length = 0; - ogs_msisdn_data_t zero_data; - ogs_assert(msisdn_data); ogs_assert(imsi_or_msisdn_bcd); - memset(&zero_data, 0, sizeof(zero_data)); - - /* msisdn_data should be initialized to zero */ - ogs_assert(memcmp(msisdn_data, &zero_data, sizeof(zero_data)) == 0); + memset(msisdn_data, 0, sizeof(*msisdn_data)); query = BCON_NEW("$or", "[", @@ -132,15 +127,10 @@ int ogs_dbi_ims_data(char *supi, ogs_ims_data_t *ims_data) char *supi_type = NULL; char *supi_id = NULL; - ogs_ims_data_t zero_data; - ogs_assert(ims_data); ogs_assert(supi); - memset(&zero_data, 0, sizeof(zero_data)); - - /* ims_data should be initialized to zero */ - ogs_assert(memcmp(ims_data, &zero_data, sizeof(zero_data)) == 0); + memset(ims_data, 0, sizeof(*ims_data)); supi_type = ogs_id_get_type(supi); ogs_assert(supi_type); diff --git a/lib/dbi/subscription.c b/lib/dbi/subscription.c index 94cf16c82..e37bf6675 100644 --- a/lib/dbi/subscription.c +++ b/lib/dbi/subscription.c @@ -315,15 +315,10 @@ int ogs_dbi_subscription_data(char *supi, char *supi_type = NULL; char *supi_id = NULL; - ogs_subscription_data_t zero_data; - ogs_assert(subscription_data); ogs_assert(supi); - memset(&zero_data, 0, sizeof(zero_data)); - - /* subscription_data should be initialized to zero */ - ogs_assert(memcmp(subscription_data, &zero_data, sizeof(zero_data)) == 0); + memset(subscription_data, 0, sizeof(*subscription_data)); supi_type = ogs_id_get_type(supi); ogs_assert(supi_type); diff --git a/src/pcf/context.c b/src/pcf/context.c index d6de447e5..924eb464e 100644 --- a/src/pcf/context.c +++ b/src/pcf/context.c @@ -798,7 +798,6 @@ int pcf_db_qos_data(char *supi, ogs_session_data_t *session_data) { int rv; - ogs_session_data_t zero_data; ogs_app_policy_conf_t *policy_conf = NULL; @@ -807,10 +806,7 @@ int pcf_db_qos_data(char *supi, ogs_assert(dnn); ogs_assert(session_data); - memset(&zero_data, 0, sizeof(zero_data)); - - /* session_data should be initialized to zero */ - ogs_assert(memcmp(session_data, &zero_data, sizeof(zero_data)) == 0); + memset(session_data, 0, sizeof(*session_data)); if (plmn_id) policy_conf = ogs_app_policy_conf_find_by_plmn_id(plmn_id); diff --git a/src/pcrf/pcrf-context.c b/src/pcrf/pcrf-context.c index bb0edeafd..4f30b28f4 100644 --- a/src/pcrf/pcrf-context.c +++ b/src/pcrf/pcrf-context.c @@ -348,7 +348,6 @@ int pcrf_db_qos_data( { int rv, i; char *supi = NULL; - ogs_session_data_t zero_data; ogs_app_policy_conf_t *policy_conf = NULL; ogs_app_slice_conf_t *slice_conf = NULL; @@ -359,10 +358,7 @@ int pcrf_db_qos_data( ogs_thread_mutex_lock(&self.db_lock); - memset(&zero_data, 0, sizeof(zero_data)); - - /* session_data should be initialized to zero */ - ogs_assert(memcmp(session_data, &zero_data, sizeof(zero_data)) == 0); + memset(session_data, 0, sizeof(*session_data)); supi = ogs_msprintf("%s-%s", OGS_ID_SUPI_TYPE_IMSI, imsi_bcd); ogs_assert(supi);