Author: Andy Green Date: Sun Apr 19 21:07:22 2026 +0100 CID 503238: STRING_NULL diff --git a/src/builder/b-nspawn.c b/src/builder/b-nspawn.c index 3022362..2e5ce80 100644 --- a/src/builder/b-nspawn.c +++ b/src/builder/b-nspawn.c @@ -115,14 +115,14 @@ callback_sai_stdwsi(struct lws *wsi, enum lws_callback_reasons reason, #if defined(WIN32) { DWORD rb; - if (!ReadFile((HANDLE)lws_get_socket_fd(wsi), buf, sizeof(buf), &rb, NULL)) { + if (!ReadFile((HANDLE)lws_get_socket_fd(wsi), buf, sizeof(buf) - 1, &rb, NULL)) { lwsl_debug("%s: read on stdwsi failed\n", __func__); return -1; } ilen = (int)rb; } #else - ilen = (int)read((int)(intptr_t)lws_get_socket_fd(wsi), buf, sizeof(buf)); + ilen = (int)read((int)(intptr_t)lws_get_socket_fd(wsi), buf, sizeof(buf) - 1); if (ilen < 1) { lwsl_debug("%s: read on stdwsi failed\n", __func__); return -1; @@ -130,10 +130,11 @@ callback_sai_stdwsi(struct lws *wsi, enum lws_callback_reasons reason, #endif len = (unsigned int)ilen; + buf[len] = '\0'; if (!op || !op->ns || !op->ns->spm) { - printf("%s: (%d) %.*s\n", __func__, - (int)lws_spawn_get_stdfd(wsi), (int)len, buf); + printf("%s: (%d) %s\n", __func__, + (int)lws_spawn_get_stdfd(wsi), (const char *)buf); return -1; }