```
Replaced with an expression that only casts (void*) values.
While casting between void * and foo * generally allowed (upto alignment
issues), the same cannot be said for casting between void ** and foo **
values, which is not okay in general.
While the C standard which says "A pointer to void shall have the same
representation and alignment requirements as a pointer to a character
type.” likely implies the cast is sound because void * and char * values
have the same representation, perhaps it is better to rewrite the
expression to not require a careful reading of the standard to be
correct.
```
Backport of secp256k1#875