<div dir="ltr"><div>Hi all,</div><div><br></div><div>I'm writing a NIF library and can't wrap my head around why the following code makes the erlang runtime hang when called from a shell:</div><div><br></div><div><font face="monospace,monospace">  static ERL_NIF_TERM test(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) {<br>    ErlNifBinary bin;<br><br>    ERL_NIF_TERM list = enif_make_list(env, 0);<br>    ERL_NIF_TERM in_term = enif_make_uint(env, 42);<br>    ERL_NIF_TERM out_term1, out_term2, out_term3;<br><br>    enif_term_to_binary(env, in_term, &bin);<br><br>    enif_binary_to_term(env, bin.data, bin.size, &out_term1, 0);<br>    list = enif_make_list_cell(env, out_term1, list);<br><br>    enif_binary_to_term(env, bin.data, bin.size, &out_term2, 0);<br>    list = enif_make_list_cell(env, out_term2, list);<br><br>    enif_binary_to_term(env, bin.data, bin.size, &out_term3, 0);<br>    list = enif_make_list_cell(env, out_term3, list);<br><br>    return list;<br>  }</font></div><div><font face="monospace,monospace"><br></font></div><div>The <span style="font-family:arial,helvetica,sans-serif"></span><font face="monospace,monospace"><span style="font-family:arial,helvetica,sans-serif">multiple calls to </span>enif_binary_to_term</font> somehow <span style="font-family:arial,helvetica,sans-serif">seem to corrupt memory in the calling environment, so I'm probably using it incorrectly. Could some kind soul point me to the error? I'm running this code on OTP20 / erts-9.2.<br></span></div><div><span style="font-family:arial,helvetica,sans-serif"><br></span></div><div><span style="font-family:arial,helvetica,sans-serif">Thanks in advance,</span></div><div><span style="font-family:arial,helvetica,sans-serif">Vincent<br></span></div></div>