diff --git a/lib/aarch64/snow3g_common_aarch64.h b/lib/aarch64/snow3g_common_aarch64.h index 63a10bcf3a709f61189b5dbfcbf315b3665bf9c6..c4c60c21add0eaaf8b733a8dd011319a276deac0 100644 --- a/lib/aarch64/snow3g_common_aarch64.h +++ b/lib/aarch64/snow3g_common_aarch64.h @@ -1756,7 +1756,8 @@ int SNOW3G_INIT_KEY_SCHED(const void *pKey, snow3g_key_schedule_t *pCtx) { #ifdef SAFE_PARAM /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (pKey == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_KEY); @@ -1798,7 +1799,8 @@ void SNOW3G_F8_1_BUFFER(const snow3g_key_schedule_t *pHandle, #ifdef SAFE_PARAM /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (pHandle == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_EXP_KEY); @@ -1861,7 +1863,8 @@ void SNOW3G_F8_1_BUFFER_BIT(const snow3g_key_schedule_t *pHandle, { #ifdef SAFE_PARAM /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (pHandle == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_EXP_KEY); @@ -1935,7 +1938,8 @@ void SNOW3G_F8_2_BUFFER(const snow3g_key_schedule_t *pHandle, { #ifdef SAFE_PARAM /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (pHandle == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_EXP_KEY); @@ -2061,7 +2065,8 @@ void SNOW3G_F8_4_BUFFER_MULTIKEY(const snow3g_key_schedule_t *pHandle1, #ifdef SAFE_PARAM /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if ((pHandle1 == NULL) || (pHandle2 == NULL) || (pHandle3 == NULL) || (pHandle4 == NULL)) { imb_set_errno(NULL, IMB_ERR_NULL_EXP_KEY); @@ -2214,7 +2219,8 @@ void SNOW3G_F8_4_BUFFER(const snow3g_key_schedule_t *pHandle, #ifdef SAFE_PARAM /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (pHandle == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_EXP_KEY); @@ -2329,7 +2335,8 @@ void SNOW3G_F8_8_BUFFER_MULTIKEY(const snow3g_key_schedule_t * const pKey[], #ifdef SAFE_PARAM /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (!cptr_check((const void * const *)pKey, num_lanes, @@ -2466,7 +2473,8 @@ void SNOW3G_F8_8_BUFFER(const snow3g_key_schedule_t *pHandle, const size_t num_lanes = 8; /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (pHandle == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_EXP_KEY); @@ -2522,7 +2530,8 @@ void SNOW3G_F8_N_BUFFER(const snow3g_key_schedule_t *pCtx, { #ifdef SAFE_PARAM /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (pCtx == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_EXP_KEY); @@ -2691,7 +2700,8 @@ void SNOW3G_F8_N_BUFFER_MULTIKEY(const snow3g_key_schedule_t * const pCtx[], { #ifdef SAFE_PARAM /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (!cptr_check((const void * const *)pCtx, packetCount, IMB_ERR_NULL_EXP_KEY)) return; @@ -2828,7 +2838,8 @@ SNOW3G_F8_4_BUFFER_INITIALIZE(void *pCtx, { #ifdef SAFE_PARAM /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (pCtx == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_CTX); @@ -2893,7 +2904,8 @@ void SNOW3G_F8_4_BUFFER_STREAM(void *pCtx, pBufferOut3, pBufferOut4); #ifdef SAFE_PARAM /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (!cptr_check((const void * const *)pBufferIn, num_lanes, IMB_ERR_NULL_SRC)) @@ -2955,7 +2967,8 @@ void SNOW3G_F8_1_BUFFER_STREAM(void *pCtx, { #ifdef SAFE_PARAM /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (pBufferIn == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_SRC); return; @@ -2999,7 +3012,8 @@ void SNOW3G_F9_1_BUFFER(const snow3g_key_schedule_t *pHandle, { #ifdef SAFE_PARAM /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (pHandle == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_EXP_KEY); return; @@ -3061,7 +3075,8 @@ void SNOW3G_F9_1_BUFFER_DIGEST(const uint32_t z[5], { #ifdef SAFE_PARAM /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (z == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_AUTH_KEY); return; @@ -3239,7 +3254,8 @@ void SNOW3G_F9_4_BUFFER_KEYSTREAM(void *pCtx, #ifdef SAFE_PARAM /* reset error status */ - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (pCtx == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_CTX); diff --git a/lib/aarch64/zuc_aarch64_no_aesni_top.c b/lib/aarch64/zuc_aarch64_no_aesni_top.c index ef9e43e6b59da7ed530e5a7d7e824b2b0ad1554b..dd2f6b26ba1e6a83cfe116456ba6805e7144ceae 100644 --- a/lib/aarch64/zuc_aarch64_no_aesni_top.c +++ b/lib/aarch64/zuc_aarch64_no_aesni_top.c @@ -335,7 +335,8 @@ void _zuc_eea3_4_buffer_no_aesni(const void * const pKey[NUM_BUFS], #ifdef SAFE_PARAM unsigned int i; - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); /* Check for NULL pointers */ if (pKey == NULL) { @@ -415,7 +416,8 @@ void _zuc_eea3_n_buffer_no_aesni(const void * const pKey[], unsigned int packetCount = numBuffers; #ifdef SAFE_PARAM - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); /* Check for NULL pointers */ if (pKey == NULL) { @@ -508,7 +510,8 @@ void zuc_eea3_1_buffer_aarch64_no_aesni(const void *pKey, const uint32_t length) { #ifdef SAFE_PARAM - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); /* Check for NULL pointers */ if (pKey == NULL) { @@ -573,7 +576,8 @@ void zuc256_eea3_1_buffer_aarch64_no_aesni(const void *pKey, const uint32_t length) { #ifdef SAFE_PARAM - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); /* Check for NULL pointers */ if (pKey == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_KEY); @@ -861,7 +865,8 @@ void _zuc_eia3_n_buffer_aarch64_no_aesni(const void * const pKey[], unsigned int packetCount = numBuffers; #ifdef SAFE_PARAM - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); /* Check for NULL pointers */ if (pKey == NULL) { @@ -956,7 +961,8 @@ void zuc_eia3_1_buffer_aarch64_no_aesni(const void *pKey, uint32_t *pMacI) { #ifdef SAFE_PARAM - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); /* Check for NULL pointers */ if (pKey == NULL) { @@ -1020,7 +1026,8 @@ void zuc256_eia3_1_buffer_aarch64_no_aesni(const void *pKey, uint32_t *pMacI) { #ifdef SAFE_PARAM - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); /* Check for NULL pointers */ if (pKey == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_KEY); diff --git a/lib/aarch64/zuc_aarch64_top.c b/lib/aarch64/zuc_aarch64_top.c index 790eb268ed43ebf1c1e3aa2df9c4e1a193ead784..a90c9666fcdb0fe130bc7634aaeab9463fb6166e 100644 --- a/lib/aarch64/zuc_aarch64_top.c +++ b/lib/aarch64/zuc_aarch64_top.c @@ -336,7 +336,8 @@ void _zuc_eea3_4_buffer(const void * const pKey[NUM_BUFS], #ifdef SAFE_PARAM unsigned int i; - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); /* Check for NULL pointers */ if (pKey == NULL) { @@ -416,7 +417,8 @@ void _zuc_eea3_n_buffer(const void * const pKey[], unsigned int packetCount = numBuffers; #ifdef SAFE_PARAM - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); /* Check for NULL pointers */ if (pKey == NULL) { @@ -509,7 +511,8 @@ void zuc_eea3_1_buffer_aarch64(const void *pKey, const uint32_t length) { #ifdef SAFE_PARAM - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); if (pKey == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_KEY); return; @@ -573,7 +576,8 @@ void zuc256_eea3_1_buffer_aarch64(const void *pKey, const uint32_t length) { #ifdef SAFE_PARAM - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); /* Check for NULL pointers */ if (pKey == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_KEY); @@ -861,7 +865,8 @@ void _zuc_eia3_n_buffer_aarch64(const void * const pKey[], unsigned int packetCount = numBuffers; #ifdef SAFE_PARAM - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); /* Check for NULL pointers */ if (pKey == NULL) { @@ -956,7 +961,8 @@ void zuc_eia3_1_buffer_aarch64(const void *pKey, uint32_t *pMacI) { #ifdef SAFE_PARAM - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); /* Check for NULL pointers */ if (pKey == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_KEY); @@ -1019,7 +1025,8 @@ void zuc256_eia3_1_buffer_aarch64(const void *pKey, uint32_t *pMacI) { #ifdef SAFE_PARAM - imb_set_errno(NULL, 0); + if (imb_errno != 0) + imb_set_errno(NULL, 0); /* Check for NULL pointers */ if (pKey == NULL) { imb_set_errno(NULL, IMB_ERR_NULL_KEY); diff --git a/lib/x86_64/error.c b/lib/x86_64/error.c index b9b9226c9d3ff8f62e45a92dabd2c84f18ca062f..61dd46d94d6374fe36d416aefb4a2851a16f66b1 100644 --- a/lib/x86_64/error.c +++ b/lib/x86_64/error.c @@ -39,7 +39,7 @@ #pragma warning(disable : 4996) #endif -IMB_DLL_LOCAL int imb_errno; +IMB_DLL_LOCAL int imb_errno = 0; IMB_DLL_LOCAL const int imb_errno_types[] = { IMB_ERR_NULL_MBMGR, IMB_ERR_JOB_NULL_SRC,