@@ -1030,7 +1030,7 @@ Msg* idris_recvMessage(VM* vm) {
1031Msg* idris_recvMessageFrom(VM* vm, int channel_id, VM* sender) {
1031Msg* idris_recvMessageFrom(VM* vm, int channel_id, VM* sender) {
1032 Msg* msg;
1032 Msg* msg;
1033− Msg* ret = malloc(sizeof(Msg));
1033+ Msg* ret;
1035 struct timespec timeout;
1035 struct timespec timeout;
1036 int status;
1036 int status;
@@ -1054,6 +1054,7 @@ Msg* idris_recvMessageFrom(VM* vm, int channel_id, VM* sender) {
1054 pthread_mutex_unlock(&vm->inbox_block);
1054 pthread_mutex_unlock(&vm->inbox_block);
1056 if (msg != NULL) {
1056 if (msg != NULL) {
1057+ ret = malloc(sizeof(*ret));
1057 ret->msg = msg->msg;
1058 ret->msg = msg->msg;
1058 ret->sender = msg->sender;
1059 ret->sender = msg->sender;