the issue exists in ext/mri/bcrypt_pbkdf_ext.c in bc_crypt_pbkdf
when bcrypt_pbkdf returns -1 the previously allocated buffer gets never freed, resulting in slow memory accumulation within the extension.
for an example, run something like this:
loop { BCryptPbkdf.key("p", "s", 2000, 1) }
the issue exists in ext/mri/bcrypt_pbkdf_ext.c in bc_crypt_pbkdf
when bcrypt_pbkdf returns -1 the previously allocated buffer gets never freed, resulting in slow memory accumulation within the extension.
for an example, run something like this: