]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - proxy.c
More experimental hackery for `win-dead-keys'. Works for me as well as it did
[PuTTY.git] / proxy.c
diff --git a/proxy.c b/proxy.c
index d970b2bf773f1f9ac606d84ed84dda1c0e57f0b4..dd5c428ce0daef4f4ef3f1fdf5cd77249788845b 100644 (file)
--- a/proxy.c
+++ b/proxy.c
@@ -590,8 +590,14 @@ int proxy_http_negotiate (Proxy_Socket p, int change)
            /* get the status line */
            len = bufchain_size(&p->pending_input_data);
            assert(len > 0);           /* or we wouldn't be here */
-           data = snewn(len, char);
+           data = snewn(len+1, char);
            bufchain_fetch(&p->pending_input_data, data, len);
+           /*
+            * We must NUL-terminate this data, because Windows
+            * sscanf appears to require a NUL at the end of the
+            * string because it strlens it _first_. Sigh.
+            */
+           data[len] = '\0';
 
            eol = get_line_end(data, len);
            if (eol < 0) {