chiark / gitweb /
New manpages.
[mLib] / bres.c
diff --git a/bres.c b/bres.c
index 497115317bbf47f664abd37b8c0a85e56222b682..a1d2c544816ff4191a30b34c6474852aabe3392e 100644 (file)
--- a/bres.c
+++ b/bres.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: bres.c,v 1.3 2000/06/17 10:38:35 mdw Exp $
+ * $Id: bres.c,v 1.4 2000/08/15 17:35:02 mdw Exp $
  *
  * Background reverse name resolution
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: bres.c,v $
+ * Revision 1.4  2000/08/15 17:35:02  mdw
+ * (gethost, and others): Since @gethost@ actually uses @malloc@ rather
+ * than @xmalloc@, it's wrong to use @xfree@ on the result.  Fixed the code
+ * to use the right freeing function on the right data.
+ *
  * Revision 1.3  2000/06/17 10:38:35  mdw
  * Track changes to selbuf interface.
  *
@@ -319,15 +324,15 @@ static struct hostent *gethost(int fd)
 
     h->h_name = a;
     PUT(name);
-    xfree(name);
+    free(name);
     h->h_aliases = p;
     for (i = 0; i < hsk.nalias; i++) {
       *p++ = a;
       PUT(alias[i]);
-      xfree(alias[i]);
+      free(alias[i]);
     }
     *p++ = 0;
-    xfree(alias);
+    free(alias);
  
 #undef PUT
   }
@@ -340,11 +345,11 @@ tidy_2:
   {
     int i;
     for (i = 0; i < hsk.nalias && alias[i]; i++)
-      xfree(alias[i]);
-    xfree(alias);
+      free(alias[i]);
+    free(alias);
   }
 tidy_1:
-  xfree(name);
+  free(name);
 tidy_0:
   return (0);
 }
@@ -453,7 +458,7 @@ static void child(int rfd, int cfd)
        free(name);
       }        break;
 
-      /* --- Forward lookup --- */
+      /* --- Reverse lookup --- */
 
       case BRES_BYADDR: {
        struct in_addr addr;
@@ -669,7 +674,7 @@ static void answer(int fd, unsigned mode, void *vp)
       xfree(rc->u.name);
   }
   if (h)
-    xfree(h);
+    free(h);
   if (fail)
     zap(rs);
   if (!rc)