In mp_init_copy(), mp_init() is used to assign the memory with default block size, mp_copy() is used to grow the target mp_int size if it is required and copy the content. My suggestion is to use mp_init_size() instead of mp_init() inside the mp_init_copy to assign required memory depending on the source mp_int size and then use mp_copy to copy the content. This will avoid the subsequent mp_grow() inside the mp_copy(). The associated issue number is 11 in GitHub.
Description
Languages
Makefile
59.1%
C
32.9%
CMake
5.8%
Perl
1.3%
Shell
0.5%
Other
0.3%