From: Ian Jackson Date: Mon, 15 Aug 2022 20:21:44 +0000 (+0100) Subject: prefork-interp: C: new length approach X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=b0e6937104a03915400681aa57544291c81b4fd0;p=chiark-utils.git prefork-interp: C: new length approach Signed-off-by: Ian Jackson --- diff --git a/cprogs/prefork-interp.c b/cprogs/prefork-interp.c index c62f00a..f499a88 100644 --- a/cprogs/prefork-interp.c +++ b/cprogs/prefork-interp.c @@ -254,14 +254,14 @@ static void send_request(void) { send_fd(1); send_fd(2); - size_t len = 4; + size_t len = 0; prepare_message(&len, 0); - char *m = malloc(len); - if (!m) diee("failed to allocate for message"); + + char *m = xmalloc(len + 4); char *p = m; - prepare_length(0, &p, len - 4); + prepare_length(0, &p, len); prepare_message(0, &p); - assert(p == m + len); + assert(p == m + len + 4); ssize_t sr = fwrite(p, len, 1, call_sock); if (sr != 1) diee("write request");