INNER CODE UNIT · C
result
michelp/pgsodium · src/aead.c:223
result = _pgsodium_zalloc_bytea (ciphertext_len + VARHDRSZ -
crypto_aead_chacha20poly1305_IETF_ABYTES);
success =
crypto_aead_chacha20poly1305_ietf_decrypt (
PGSODIUM_UCHARDATA (result),
&result_size,
NULL,
PGSODIUM_UCHARDATA (ciphertext), ciphertext_len,
associated != NULL ? PGSODIUM_UCHARDATA_ANY (associated) : NULL,
associated != NULL ? VARSIZE_ANY_EXHDR (associated) : 0,
PGSODIUM_UCHARDATA (nonce),
PGSODIUM_UCHARDATA (key));
ERRORIF (success != 0, "%s: invalid ciphertext");
SET_VARSIZE (result, VARHDRSZ + result_size);
PG_RETURN_BYTEA_P (result);
}