INNER CODE UNIT · C
result
michelp/pgsodium · src/aead.c:348
result = _pgsodium_zalloc_bytea (result_len + VARHDRSZ);
if (!PG_ARGISNULL (3))
{
nonce = PG_GETARG_BYTEA_P (3);
ERRORIF (VARSIZE_ANY_EXHDR (nonce) !=
crypto_aead_det_xchacha20_NONCEBYTES, "%s: invalid nonce");
}
else
{
nonce = NULL;
}
success = crypto_aead_det_xchacha20_decrypt (
PGSODIUM_UCHARDATA (result),
PGSODIUM_UCHARDATA_ANY (ciphertext),
VARSIZE_ANY_EXHDR (ciphertext),
associated != NULL ? PGSODIUM_UCHARDATA_ANY (associated) : NULL,
associated != NULL ? VARSIZE_ANY_EXHDR (associated) : 0,
nonce != NULL ? PGSODIUM_UCHARDATA_ANY (nonce) : NULL,