Make memory management uniform: _everything_ now goes through the
[u/mdw/putty] / winnet.c
index 6932283..2be9233 100644 (file)
--- a/winnet.c
+++ b/winnet.c
@@ -5,6 +5,7 @@
 #include <windows.h>
 #include <winsock.h>
 #include <stdio.h>
+#include <stdlib.h>
 
 #include "putty.h"
 #include "network.h"
@@ -60,6 +61,7 @@ SockAddr sk_namelookup(char *host, char **canonicalname) {
     unsigned long a;
     struct hostent *h;
 
+    ret->error = NULL;
     if ( (a = inet_addr(host)) == (unsigned long) INADDR_NONE) {
        if ( (h = gethostbyname(host)) == NULL) {
            DWORD err = WSAGetLastError();
@@ -68,7 +70,6 @@ SockAddr sk_namelookup(char *host, char **canonicalname) {
                          err == WSATRY_AGAIN ? "Host not found" :
                          "gethostbyname: unknown error");
        } else {
-           ret->error = NULL;
            memcpy (&a, h->h_addr, sizeof(a));
            *canonicalname = h->h_name;
        }
@@ -162,7 +163,7 @@ void sk_close(Socket s) {
     del234(sktree, s);
     do_select(s->s, 0);
     closesocket(s->s);
-    free(s);
+    sfree(s);
 }
 
 char *winsock_error_string(int error) {
@@ -257,7 +258,7 @@ void try_send(Socket s) {
            if (s->head->bufpos >= s->head->buflen) {
                struct buffer *tmp = s->head;
                s->head = tmp->next;
-               free(tmp);
+               sfree(tmp);
                if (!s->head)
                    s->tail = NULL;
            }
@@ -311,7 +312,7 @@ void sk_write_oob(Socket s, char *buf, int len) {
         while (walk) {
             struct buffer *tmp = walk;
             walk = tmp->next;
-            free(tmp);
+            sfree(tmp);
         }
     }
     s->head->next = NULL;
@@ -336,7 +337,7 @@ int select_result(WPARAM wParam, LPARAM lParam) {
     DWORD err;
     char buf[BUFFER_GRANULE];
     Socket s;
-    int atmark;
+    u_long atmark;
 
     /* wParam is the socket itself */
     s = find234(sktree, (void *)wParam, cmpforsearch);