Naming an externally linked function with the prefix "str" is by itself UB since that prefix is reserved for <string.h>.
void secp256k1_gej_add_gej(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_gej *b);
and void secp256k1_gej_add_gej_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_gej *b);
As with the other functions in the library the parameters r and a are allowed to alias.