Hi. "case CMD_SEND:" sets done=1 so ret will never be written to and the uninitialized value of ret is used to determine the return value of the function vmmaction.
-- Ben Index: main.c =================================================================== RCS file: /cvs/src/usr.sbin/vmctl/main.c,v retrieving revision 1.61 diff -u -p -r1.61 main.c --- main.c 28 Dec 2019 18:36:01 -0000 1.61 +++ main.c 2 Jan 2020 15:09:28 -0000 @@ -265,6 +265,7 @@ vmmaction(struct parse_result *res) case CMD_SEND: send_vm(res->id, res->name); done = 1; + ret = 0; break; case CMD_RECEIVE: vm_receive(res->id, res->name);