@@ -92,10 +92,10 @@ static void secp256k1_ecmult_odd_multiples_table_globalz_windowa(secp256k1_ge_t
9292 secp256k1_ge_globalz_set_table_gej (ECMULT_TABLE_SIZE (WINDOW_A ), pre , globalz , prej , zr );
9393}
9494
95- static void secp256k1_ecmult_odd_multiples_table_storage_var (int n , secp256k1_ge_storage_t * pre , const secp256k1_gej_t * a ) {
96- secp256k1_gej_t * prej = (secp256k1_gej_t * )checked_malloc (sizeof (secp256k1_gej_t ) * n );
97- secp256k1_ge_t * prea = (secp256k1_ge_t * )checked_malloc (sizeof (secp256k1_ge_t ) * n );
98- secp256k1_fe_t * zr = (secp256k1_fe_t * )checked_malloc (sizeof (secp256k1_fe_t ) * n );
95+ static void secp256k1_ecmult_odd_multiples_table_storage_var (int n , secp256k1_ge_storage_t * pre , const secp256k1_gej_t * a , const callback_t * cb ) {
96+ secp256k1_gej_t * prej = (secp256k1_gej_t * )checked_malloc (cb , sizeof (secp256k1_gej_t ) * n );
97+ secp256k1_ge_t * prea = (secp256k1_ge_t * )checked_malloc (cb , sizeof (secp256k1_ge_t ) * n );
98+ secp256k1_fe_t * zr = (secp256k1_fe_t * )checked_malloc (cb , sizeof (secp256k1_fe_t ) * n );
9999 int i ;
100100
101101 /* Compute the odd multiples in Jacobian form. */
@@ -144,7 +144,7 @@ static void secp256k1_ecmult_context_init(secp256k1_ecmult_context_t *ctx) {
144144#endif
145145}
146146
147- static void secp256k1_ecmult_context_build (secp256k1_ecmult_context_t * ctx ) {
147+ static void secp256k1_ecmult_context_build (secp256k1_ecmult_context_t * ctx , const callback_t * cb ) {
148148 secp256k1_gej_t gj ;
149149
150150 if (ctx -> pre_g != NULL ) {
@@ -154,43 +154,43 @@ static void secp256k1_ecmult_context_build(secp256k1_ecmult_context_t *ctx) {
154154 /* get the generator */
155155 secp256k1_gej_set_ge (& gj , & secp256k1_ge_const_g );
156156
157- ctx -> pre_g = (secp256k1_ge_storage_t (* )[])checked_malloc (sizeof ((* ctx -> pre_g )[0 ]) * ECMULT_TABLE_SIZE (WINDOW_G ));
157+ ctx -> pre_g = (secp256k1_ge_storage_t (* )[])checked_malloc (cb , sizeof ((* ctx -> pre_g )[0 ]) * ECMULT_TABLE_SIZE (WINDOW_G ));
158158
159159 /* precompute the tables with odd multiples */
160- secp256k1_ecmult_odd_multiples_table_storage_var (ECMULT_TABLE_SIZE (WINDOW_G ), * ctx -> pre_g , & gj );
160+ secp256k1_ecmult_odd_multiples_table_storage_var (ECMULT_TABLE_SIZE (WINDOW_G ), * ctx -> pre_g , & gj , cb );
161161
162162#ifdef USE_ENDOMORPHISM
163163 {
164164 secp256k1_gej_t g_128j ;
165165 int i ;
166166
167- ctx -> pre_g_128 = (secp256k1_ge_storage_t (* )[])checked_malloc (sizeof ((* ctx -> pre_g_128 )[0 ]) * ECMULT_TABLE_SIZE (WINDOW_G ));
167+ ctx -> pre_g_128 = (secp256k1_ge_storage_t (* )[])checked_malloc (cb , sizeof ((* ctx -> pre_g_128 )[0 ]) * ECMULT_TABLE_SIZE (WINDOW_G ));
168168
169169 /* calculate 2^128*generator */
170170 g_128j = gj ;
171171 for (i = 0 ; i < 128 ; i ++ ) {
172172 secp256k1_gej_double_var (& g_128j , & g_128j , NULL );
173173 }
174- secp256k1_ecmult_odd_multiples_table_storage_var (ECMULT_TABLE_SIZE (WINDOW_G ), * ctx -> pre_g_128 , & g_128j );
174+ secp256k1_ecmult_odd_multiples_table_storage_var (ECMULT_TABLE_SIZE (WINDOW_G ), * ctx -> pre_g_128 , & g_128j , cb );
175175 }
176176#endif
177177}
178178
179179static void secp256k1_ecmult_context_clone (secp256k1_ecmult_context_t * dst ,
180- const secp256k1_ecmult_context_t * src ) {
180+ const secp256k1_ecmult_context_t * src , const callback_t * cb ) {
181181 if (src -> pre_g == NULL ) {
182182 dst -> pre_g = NULL ;
183183 } else {
184184 size_t size = sizeof ((* dst -> pre_g )[0 ]) * ECMULT_TABLE_SIZE (WINDOW_G );
185- dst -> pre_g = (secp256k1_ge_storage_t (* )[])checked_malloc (size );
185+ dst -> pre_g = (secp256k1_ge_storage_t (* )[])checked_malloc (cb , size );
186186 memcpy (dst -> pre_g , src -> pre_g , size );
187187 }
188188#ifdef USE_ENDOMORPHISM
189189 if (src -> pre_g_128 == NULL ) {
190190 dst -> pre_g_128 = NULL ;
191191 } else {
192192 size_t size = sizeof ((* dst -> pre_g_128 )[0 ]) * ECMULT_TABLE_SIZE (WINDOW_G );
193- dst -> pre_g_128 = (secp256k1_ge_storage_t (* )[])checked_malloc (size );
193+ dst -> pre_g_128 = (secp256k1_ge_storage_t (* )[])checked_malloc (cb , size );
194194 memcpy (dst -> pre_g_128 , src -> pre_g_128 , size );
195195 }
196196#endif
0 commit comments