@@ -1030,7 +1030,7 @@ Msg* idris_recvMessage(VM* vm) {
10301030
10311031Msg* idris_recvMessageFrom(VM* vm, int channel_id, VM* sender) {
10321032 Msg* msg;
1033− Msg* ret = malloc(sizeof(Msg));
1033+ Msg* ret;
10341034
10351035 struct timespec timeout;
10361036 int status;
@@ -1054,6 +1054,7 @@ Msg* idris_recvMessageFrom(VM* vm, int channel_id, VM* sender) {
10541054 pthread_mutex_unlock(&vm->inbox_block);
10551055
10561056 if (msg != NULL) {
1057+ ret = malloc(sizeof(*ret));
10571058 ret->msg = msg->msg;
10581059 ret->sender = msg->sender;
10591060