Fix memory counting bugs for jupes and glines.
[ircu2.10.12-pk.git] / ircd / gline.c
index ebbe6424e91cd930f3d52f66c1442e2f3d05509d..dd85368f5e0f7829fa3e74966b3ceb3bbb677490 100644 (file)
@@ -132,15 +132,15 @@ make_gline(char *user, char *host, char *reason, time_t expire, time_t lastmod,
     DupString(gline->gl_host, host);
 
     if (check_if_ipmask(host)) { /* mark if it's an IP mask */
-      int class;
+      int c_class;
       char ipname[16];
       int ad[4] = { 0 };
       int bits2 = 0;
        
-      class = sscanf(host,"%d.%d.%d.%d/%d",
+      c_class = sscanf(host,"%d.%d.%d.%d/%d",
                      &ad[0],&ad[1],&ad[2],&ad[3], &bits2);
-      if (class!=5) {
-        gline->bits=class*8;
+      if (c_class!=5) {
+        gline->bits=c_class*8;
       }
       else {
         gline->bits=bits2;
@@ -242,7 +242,8 @@ gline_checkmask(char *mask)
     } else if (*mask == '*' || *mask == '?')
       flags |= MASK_WILD_0 | MASK_WILDS; /* found a wildcard */
     else if (*mask == '/') { /* n.n.n.n/n notation; parse bit specifier */
-      ipmask = strtoul(++mask, &mask, 10);
+      ++mask;
+      ipmask = strtoul(mask, &mask, 10);
 
       if (*mask || dots != 3 || ipmask > 32 || /* sanity-check to date */
          (flags & (MASK_WILDS | MASK_IP)) != MASK_IP)
@@ -752,10 +753,10 @@ gline_memory_count(size_t *gl_size)
   for (gline = GlobalGlineList; gline; gline = gline->gl_next)
   {
     gl++;
-    gl_size += sizeof(struct Gline);
-    gl_size += gline->gl_user ? (strlen(gline->gl_user) + 1) : 0;
-    gl_size += gline->gl_host ? (strlen(gline->gl_host) + 1) : 0;
-    gl_size += gline->gl_reason ? (strlen(gline->gl_reason) + 1) : 0;
+    *gl_size += sizeof(struct Gline);
+    *gl_size += gline->gl_user ? (strlen(gline->gl_user) + 1) : 0;
+    *gl_size += gline->gl_host ? (strlen(gline->gl_host) + 1) : 0;
+    *gl_size += gline->gl_reason ? (strlen(gline->gl_reason) + 1) : 0;
   }
   return gl;
 }