Index: head/usr.sbin/bhyve/rfb.c =================================================================== --- head/usr.sbin/bhyve/rfb.c +++ head/usr.sbin/bhyve/rfb.c @@ -32,6 +32,7 @@ #ifndef WITHOUT_CAPSICUM #include #endif +#include #include #include #include @@ -754,7 +755,7 @@ { const char *vbuf = "RFB 003.008\n"; unsigned char buf[80]; - unsigned char *message; + unsigned char *message = NULL; #ifndef NO_OPENSSL unsigned char challenge[AUTH_LENGTH]; @@ -766,7 +767,7 @@ #endif pthread_t tid; - uint32_t sres; + uint32_t sres = 0; int len; rc->cfd = cfd; @@ -858,7 +859,7 @@ stream_write(cfd, &sres, 4); if (sres) { - *((uint32_t *) buf) = htonl(strlen(message)); + be32enc(buf, strlen(message)); stream_write(cfd, buf, 4); stream_write(cfd, message, strlen(message)); goto done;