core/msg: prevent null pointer dereference (WIP)

- [ ] needs checking for new return value compatibility
- [x] `printf` needs removing
You need to put `diNT()` before reading `target`, otherwise there are this races.