@@ -156,9 +156,10 @@ static int _PrivateOperation(const byte* in, word32 inlen, byte* out,
156156 byte * u = NULL ;
157157 byte * n = NULL ;
158158 word32 dSz , pSz , qSz , dpSz = 0 , dqSz = 0 , uSz = 0 , nSz ;
159+ word32 dAllocSz ;
159160
160161 dev = & key -> ctx ;
161- dSz = nSz = wc_RsaEncryptSize (key );
162+ dAllocSz = dSz = nSz = wc_RsaEncryptSize (key );
162163 pSz = qSz = nSz / 2 ;
163164 if (outlen < dSz ) {
164165 WOLFSSL_MSG ("Output buffer is too small" );
@@ -196,7 +197,7 @@ static int _PrivateOperation(const byte* in, word32 inlen, byte* out,
196197 if (!key -> blackKey ) { /* @TODO unexpected results with black key CRT form */
197198 if (ret == 0 && dpSz > 0 ) {
198199 dSz = 0 ; nSz = 0 ;
199- dq = (byte * )XMALLOC (dpSz , NULL , DYNAMIC_TYPE_TMP_BUFFER );
200+ dq = (byte * )XMALLOC (dqSz , NULL , DYNAMIC_TYPE_TMP_BUFFER );
200201 dp = (byte * )XMALLOC (dpSz , NULL , DYNAMIC_TYPE_TMP_BUFFER );
201202 u = (byte * )XMALLOC (uSz , NULL , DYNAMIC_TYPE_TMP_BUFFER );
202203 if (dq == NULL || dp == NULL || u == NULL ) {
@@ -237,12 +238,12 @@ static int _PrivateOperation(const byte* in, word32 inlen, byte* out,
237238 }
238239 }
239240
240- if (d ) { ForceZero (d , dSz ); XFREE (d , NULL , DYNAMIC_TYPE_TMP_BUFFER ); }
241- if (p ) { ForceZero (p , pSz ); XFREE (p , NULL , DYNAMIC_TYPE_TMP_BUFFER ); }
242- if (q ) { ForceZero (q , qSz ); XFREE (q , NULL , DYNAMIC_TYPE_TMP_BUFFER ); }
243- if (dp ) { ForceZero (dp , dpSz ); XFREE (dp , NULL , DYNAMIC_TYPE_TMP_BUFFER ); }
244- if (dq ) { ForceZero (dq , dqSz ); XFREE (dq , NULL , DYNAMIC_TYPE_TMP_BUFFER ); }
245- if (u ) { ForceZero (u , uSz ); XFREE (u , NULL , DYNAMIC_TYPE_TMP_BUFFER ); }
241+ if (d ) { ForceZero (d , dAllocSz ); XFREE (d , NULL , DYNAMIC_TYPE_TMP_BUFFER ); }
242+ if (p ) { ForceZero (p , pSz ); XFREE (p , NULL , DYNAMIC_TYPE_TMP_BUFFER ); }
243+ if (q ) { ForceZero (q , qSz ); XFREE (q , NULL , DYNAMIC_TYPE_TMP_BUFFER ); }
244+ if (dp ) { ForceZero (dp , dpSz ); XFREE (dp , NULL , DYNAMIC_TYPE_TMP_BUFFER ); }
245+ if (dq ) { ForceZero (dq , dqSz ); XFREE (dq , NULL , DYNAMIC_TYPE_TMP_BUFFER ); }
246+ if (u ) { ForceZero (u , uSz ); XFREE (u , NULL , DYNAMIC_TYPE_TMP_BUFFER ); }
246247 XFREE (n , NULL , DYNAMIC_TYPE_TMP_BUFFER );
247248
248249 wc_DevCryptoFree (dev );
0 commit comments