MFC: An off-by-one malloc size was corrupting the installer's memory,
authorMatthew Dillon <dillon@dragonflybsd.org>
Sat, 26 Jul 2008 21:24:50 +0000 (26 21:24 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sat, 26 Jul 2008 21:24:50 +0000 (26 21:24 +0000)
causing the time-zone selector to seg-fault.

Submitted-by: Pierre Riteau <pierre.riteau@gmail.com>
contrib/bsdinstaller-1.1.6/src/lib/libdfui/conn_caps.c
contrib/bsdinstaller-1.1.6/src/lib/libdfui/conn_npipe.c
contrib/bsdinstaller-1.1.6/src/lib/libdfui/conn_tcp.c

index 53996a6..30f6764 100644 (file)
@@ -285,7 +285,7 @@ dfui_caps_fe_ll_request(struct dfui_connection *c, char msgtype, const char *msg
         * Construct a message.
         */
 
-       fmsg = aura_malloc(strlen(msg) + 1, "exchange message");
+       fmsg = aura_malloc(strlen(msg) + 2, "exchange message");
        fmsg[0] = msgtype;
        strcpy(fmsg + 1, msg);
        dfui_debug("SEND<<%s>>\n", fmsg);
index ab6510a..a62fa69 100644 (file)
@@ -340,7 +340,7 @@ dfui_npipe_fe_ll_request(struct dfui_connection *c, char msgtype, const char *ms
         * Construct a message.
         */
 
-       fmsg = malloc(strlen(msg) + 1);
+       fmsg = malloc(strlen(msg) + 2);
        fmsg[0] = msgtype;
        strcpy(fmsg + 1, msg);
 
index 52a0478..960e17b 100644 (file)
@@ -394,7 +394,7 @@ dfui_tcp_fe_ll_request(struct dfui_connection *c, char msgtype, const char *msg)
         * Construct a message.
         */
 
-       fmsg = malloc(strlen(msg) + 1);
+       fmsg = malloc(strlen(msg) + 2);
        fmsg[0] = msgtype;
        strcpy(fmsg + 1, msg);
        dfui_debug("SEND<<%s>>\n", fmsg);