@@ -757,11 +757,7 @@ int BufferLoadCRL(WOLFSSL_CRL* crl, const byte* buff, long sz, int type,
757757 int ret = WOLFSSL_SUCCESS ;
758758 const byte * myBuffer = buff ; /* if DER ok, otherwise switch */
759759 DerBuffer * der = NULL ;
760- #ifdef WOLFSSL_SMALL_STACK
761- DecodedCRL * dcrl ;
762- #else
763- DecodedCRL dcrl [1 ];
764- #endif
760+ WC_DECLARE_VAR (dcrl , DecodedCRL , 1 , 0 );
765761
766762 WOLFSSL_ENTER ("BufferLoadCRL" );
767763
@@ -796,9 +792,7 @@ int BufferLoadCRL(WOLFSSL_CRL* crl, const byte* buff, long sz, int type,
796792 crl -> currentEntry = CRL_Entry_new (crl -> heap );
797793 if (crl -> currentEntry == NULL ) {
798794 WOLFSSL_MSG_CERT_LOG ("alloc CRL Entry failed" );
799- #ifdef WOLFSSL_SMALL_STACK
800- XFREE (dcrl , NULL , DYNAMIC_TYPE_TMP_BUFFER );
801- #endif
795+ WC_FREE_VAR_EX (dcrl , NULL , DYNAMIC_TYPE_TMP_BUFFER );
802796 FreeDer (& der );
803797 return MEMORY_E ;
804798 }
@@ -825,9 +819,7 @@ int BufferLoadCRL(WOLFSSL_CRL* crl, const byte* buff, long sz, int type,
825819
826820 FreeDecodedCRL (dcrl );
827821
828- #ifdef WOLFSSL_SMALL_STACK
829- XFREE (dcrl , NULL , DYNAMIC_TYPE_TMP_BUFFER );
830- #endif
822+ WC_FREE_VAR_EX (dcrl , NULL , DYNAMIC_TYPE_TMP_BUFFER );
831823
832824 FreeDer (& der );
833825
@@ -843,11 +835,7 @@ int GetCRLInfo(WOLFSSL_CRL* crl, CrlInfo* info, const byte* buff,
843835 const byte * myBuffer = buff ; /* if DER ok, otherwise switch */
844836 DerBuffer * der = NULL ;
845837 CRL_Entry * crle = NULL ;
846- #ifdef WOLFSSL_SMALL_STACK
847- DecodedCRL * dcrl ;
848- #else
849- DecodedCRL dcrl [1 ];
850- #endif
838+ WC_DECLARE_VAR (dcrl , DecodedCRL , 1 , 0 );
851839
852840 WOLFSSL_ENTER ("GetCRLInfo" );
853841
@@ -883,9 +871,7 @@ int GetCRLInfo(WOLFSSL_CRL* crl, CrlInfo* info, const byte* buff,
883871 crle = CRL_Entry_new (crl -> heap );
884872 if (crle == NULL ) {
885873 WOLFSSL_MSG ("alloc CRL Entry failed" );
886- #ifdef WOLFSSL_SMALL_STACK
887- XFREE (dcrl , NULL , DYNAMIC_TYPE_TMP_BUFFER );
888- #endif
874+ WC_FREE_VAR_EX (dcrl , NULL , DYNAMIC_TYPE_TMP_BUFFER );
889875 FreeDer (& der );
890876 return MEMORY_E ;
891877 }
@@ -904,9 +890,7 @@ int GetCRLInfo(WOLFSSL_CRL* crl, CrlInfo* info, const byte* buff,
904890
905891 FreeDecodedCRL (dcrl );
906892
907- #ifdef WOLFSSL_SMALL_STACK
908- XFREE (dcrl , NULL , DYNAMIC_TYPE_TMP_BUFFER );
909- #endif
893+ WC_FREE_VAR_EX (dcrl , NULL , DYNAMIC_TYPE_TMP_BUFFER );
910894
911895 FreeDer (& der );
912896 CRL_Entry_free (crle , crl -> heap );
@@ -1254,23 +1238,14 @@ static int SwapLists(WOLFSSL_CRL* crl)
12541238{
12551239 int ret ;
12561240 CRL_Entry * newList ;
1257- #ifdef WOLFSSL_SMALL_STACK
1258- WOLFSSL_CRL * tmp ;
1259- #else
1260- WOLFSSL_CRL tmp [1 ];
1261- #endif
1241+ WC_DECLARE_VAR (tmp , WOLFSSL_CRL , 1 , 0 );
12621242
1263- #ifdef WOLFSSL_SMALL_STACK
1264- tmp = (WOLFSSL_CRL * )XMALLOC (sizeof (WOLFSSL_CRL ), NULL , DYNAMIC_TYPE_TMP_BUFFER );
1265- if (tmp == NULL )
1266- return MEMORY_E ;
1267- #endif
1243+ WC_ALLOC_VAR_EX (tmp , WOLFSSL_CRL , 1 , NULL , DYNAMIC_TYPE_TMP_BUFFER ,
1244+ return MEMORY_E );
12681245
12691246 if (InitCRL (tmp , crl -> cm ) < 0 ) {
12701247 WOLFSSL_MSG ("Init tmp CRL failed" );
1271- #ifdef WOLFSSL_SMALL_STACK
1272- XFREE (tmp , NULL , DYNAMIC_TYPE_TMP_BUFFER );
1273- #endif
1248+ WC_FREE_VAR_EX (tmp , NULL , DYNAMIC_TYPE_TMP_BUFFER );
12741249 return WOLFSSL_FATAL_ERROR ;
12751250 }
12761251
@@ -1279,9 +1254,7 @@ static int SwapLists(WOLFSSL_CRL* crl)
12791254 if (ret != WOLFSSL_SUCCESS ) {
12801255 WOLFSSL_MSG ("PEM LoadCRL on dir change failed" );
12811256 FreeCRL (tmp , 0 );
1282- #ifdef WOLFSSL_SMALL_STACK
1283- XFREE (tmp , NULL , DYNAMIC_TYPE_TMP_BUFFER );
1284- #endif
1257+ WC_FREE_VAR_EX (tmp , NULL , DYNAMIC_TYPE_TMP_BUFFER );
12851258 return WOLFSSL_FATAL_ERROR ;
12861259 }
12871260 }
@@ -1291,19 +1264,15 @@ static int SwapLists(WOLFSSL_CRL* crl)
12911264 if (ret != WOLFSSL_SUCCESS ) {
12921265 WOLFSSL_MSG ("DER LoadCRL on dir change failed" );
12931266 FreeCRL (tmp , 0 );
1294- #ifdef WOLFSSL_SMALL_STACK
1295- XFREE (tmp , NULL , DYNAMIC_TYPE_TMP_BUFFER );
1296- #endif
1267+ WC_FREE_VAR_EX (tmp , NULL , DYNAMIC_TYPE_TMP_BUFFER );
12971268 return WOLFSSL_FATAL_ERROR ;
12981269 }
12991270 }
13001271
13011272 if (wc_LockRwLock_Wr (& crl -> crlLock ) != 0 ) {
13021273 WOLFSSL_MSG ("wc_LockRwLock_Wr failed" );
13031274 FreeCRL (tmp , 0 );
1304- #ifdef WOLFSSL_SMALL_STACK
1305- XFREE (tmp , NULL , DYNAMIC_TYPE_TMP_BUFFER );
1306- #endif
1275+ WC_FREE_VAR_EX (tmp , NULL , DYNAMIC_TYPE_TMP_BUFFER );
13071276 return WOLFSSL_FATAL_ERROR ;
13081277 }
13091278
@@ -1317,9 +1286,7 @@ static int SwapLists(WOLFSSL_CRL* crl)
13171286
13181287 FreeCRL (tmp , 0 );
13191288
1320- #ifdef WOLFSSL_SMALL_STACK
1321- XFREE (tmp , NULL , DYNAMIC_TYPE_TMP_BUFFER );
1322- #endif
1289+ WC_FREE_VAR_EX (tmp , NULL , DYNAMIC_TYPE_TMP_BUFFER );
13231290
13241291 return 0 ;
13251292}
@@ -1505,11 +1472,7 @@ static THREAD_RETURN WOLFSSL_THREAD DoMonitor(void* arg)
15051472 int notifyFd ;
15061473 int wd = -1 ;
15071474 WOLFSSL_CRL * crl = (WOLFSSL_CRL * )arg ;
1508- #ifdef WOLFSSL_SMALL_STACK
1509- char * buff ;
1510- #else
1511- char buff [8192 ];
1512- #endif
1475+ WC_DECLARE_VAR (buff , char , 8192 , 0 );
15131476
15141477 WOLFSSL_ENTER ("DoMonitor" );
15151478
@@ -1614,9 +1577,7 @@ static THREAD_RETURN WOLFSSL_THREAD DoMonitor(void* arg)
16141577 }
16151578 }
16161579
1617- #ifdef WOLFSSL_SMALL_STACK
1618- XFREE (buff , NULL , DYNAMIC_TYPE_TMP_BUFFER );
1619- #endif
1580+ WC_FREE_VAR_EX (buff , NULL , DYNAMIC_TYPE_TMP_BUFFER );
16201581
16211582 if (wd > 0 ) {
16221583 if (inotify_rm_watch (notifyFd , wd ) < 0 )
@@ -1826,22 +1787,14 @@ int LoadCRL(WOLFSSL_CRL* crl, const char* path, int type, int monitor)
18261787{
18271788 int ret = WOLFSSL_SUCCESS ;
18281789 char * name = NULL ;
1829- #ifdef WOLFSSL_SMALL_STACK
1830- ReadDirCtx * readCtx = NULL ;
1831- #else
1832- ReadDirCtx readCtx [1 ];
1833- #endif
1790+ WC_DECLARE_VAR (readCtx , ReadDirCtx , 1 , 0 );
18341791
18351792 WOLFSSL_ENTER ("LoadCRL" );
18361793 if (crl == NULL )
18371794 return BAD_FUNC_ARG ;
18381795
1839- #ifdef WOLFSSL_SMALL_STACK
1840- readCtx = (ReadDirCtx * )XMALLOC (sizeof (ReadDirCtx ), crl -> heap ,
1841- DYNAMIC_TYPE_TMP_BUFFER );
1842- if (readCtx == NULL )
1843- return MEMORY_E ;
1844- #endif
1796+ WC_ALLOC_VAR_EX (readCtx , ReadDirCtx , 1 , crl -> heap ,
1797+ DYNAMIC_TYPE_TMP_BUFFER , return MEMORY_E );
18451798
18461799 /* try to load each regular file in path */
18471800 ret = wc_ReadDirFirst (readCtx , path , & name );
@@ -1873,9 +1826,7 @@ int LoadCRL(WOLFSSL_CRL* crl, const char* path, int type, int monitor)
18731826 if (ret != WOLFSSL_SUCCESS ) {
18741827 WOLFSSL_MSG ("CRL file load failed" );
18751828 wc_ReadDirClose (readCtx );
1876- #ifdef WOLFSSL_SMALL_STACK
1877- XFREE (readCtx , crl -> heap , DYNAMIC_TYPE_TMP_BUFFER );
1878- #endif
1829+ WC_FREE_VAR_EX (readCtx , crl -> heap , DYNAMIC_TYPE_TMP_BUFFER );
18791830 return ret ;
18801831 }
18811832 }
@@ -1888,9 +1839,7 @@ int LoadCRL(WOLFSSL_CRL* crl, const char* path, int type, int monitor)
18881839 /* load failures not reported, for backwards compat */
18891840 ret = WOLFSSL_SUCCESS ;
18901841
1891- #ifdef WOLFSSL_SMALL_STACK
1892- XFREE (readCtx , crl -> heap , DYNAMIC_TYPE_TMP_BUFFER );
1893- #endif
1842+ WC_FREE_VAR_EX (readCtx , crl -> heap , DYNAMIC_TYPE_TMP_BUFFER );
18941843
18951844 if (monitor & WOLFSSL_CRL_MONITOR ) {
18961845#ifdef HAVE_CRL_MONITOR
0 commit comments