Fix proxy.c so that the static variables become const.
[u/mdw/putty] / proxy.c
diff --git a/proxy.c b/proxy.c
index 9e3684c..a896080 100644 (file)
--- a/proxy.c
+++ b/proxy.c
@@ -8,6 +8,8 @@
 #include <windows.h>
 
 #include <assert.h>
+#include <ctype.h>
+#include <string.h>
 
 #define DEFINE_PLUG_METHOD_MACROS
 #include "putty.h"
@@ -312,7 +314,7 @@ Socket new_connection(SockAddr addr, char *hostname,
                      int port, int privport,
                      int oobinline, int nodelay, Plug plug)
 {
-    static struct socket_function_table socket_fn_table = {
+    static const struct socket_function_table socket_fn_table = {
        sk_proxy_plug,
        sk_proxy_close,
        sk_proxy_write,
@@ -324,7 +326,7 @@ Socket new_connection(SockAddr addr, char *hostname,
        sk_proxy_socket_error
     };
 
-    static struct plug_function_table plug_fn_table = {
+    static const struct plug_function_table plug_fn_table = {
        plug_proxy_closing,
        plug_proxy_receive,
        plug_proxy_sent,
@@ -646,7 +648,7 @@ int proxy_socks4_negotiate (Proxy_Socket p, int change)
        }
 
        length = strlen(cfg.proxy_username) + 9;
-       command = (char*) malloc(length);
+       command = (char*) smalloc(length);
        strcpy(command + 8, cfg.proxy_username);
 
        command[0] = 4; /* version 4 */
@@ -660,7 +662,7 @@ int proxy_socks4_negotiate (Proxy_Socket p, int change)
        sk_addrcopy(p->remote_addr, command + 4);
 
        sk_write(p->sub_socket, command, length);
-       free(command);
+       sfree(command);
 
        p->state = 1;
        return 0;