[Petter Reinholdtsen]
> Can you try to apply this diff, to get the size of the memory
> alloctaion printed, and run the program again:

Doh.  No need.  I see from the backtrace, that the number is very
large (268517376).

Hm, could this be a signed/unsigned issue?  Try to apply this patch
and see if the problem goes away:

--- netplan.c.~1.1.1.3.~        2005-02-19 12:07:34.000000000 +0100
+++ netplan.c   2005-11-03 09:51:56.362527361 +0100
@@ -87,9 +87,9 @@
                         const char *arg);
 void logger(char *, ...);
 
-void *allocate(int n)
+void *allocate(size_t n)
        {void *p = malloc(n); if (!p) fatal("no memory"); return(p);}
-void *reallocate(void *o, int n)
+void *reallocate(void *o, size_t n)
        {void *p = o ? realloc(o, n) : malloc(n);
         if (!p) fatal("no memory"); return(p);}
 void release(void *p)

Malloc takes size_t as an argument, not int.  It would also be great
if you could try to apply this patch, and report the output when
running netplan as before.

--- netplan.c.~1.1.1.3.~        2005-02-19 12:07:34.000000000 +0100
+++ netplan.c   2005-11-03 09:54:23.963155116 +0100
@@ -266,6 +266,8 @@
                }
        }
        nclients = sizeof(fd_set)*8;                    /* max # of clients */
+       printf("sizeof(fd_set)=%d, sizeof(struct client)=%d, NGROUPS_MAX=%d\n",
+              sizeof(fd_set),sizeof(struct client), NGROUPS_MAX);
        client_list = allocate(nclients * sizeof(struct client));
        memset(client_list, 0, nclients * sizeof(struct client));
 



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to