libima misuses gethostname
libima uses gethostname() as if it returns a length, rather than accepts one, in its second argument. We don't get warned about this because we also don't include unistd.h, so nobody notices.
We specify the buffer we have is as long as whatever happened to be on the stack at the time. Bad.