I've used code similar to yours without problems.  I also compiled your
example without any problems.  Works for me.

On Sun, Nov 23, 2008 at 8:57 PM, Tom H <[EMAIL PROTECTED]> wrote:

>
>
> I have the following piece of test code:
>
> int main(int argc, char *argv[])
> {
>     int sock = 7; /* to simplify test case */
>     struct event e0;
>     struct event *e1;
>
>     event_init();
>
>     // works fine: ---------------
>     printf("Starting test 0...\n");
>     event_set(&e0, sock, EV_READ, handle_new_connection, &e0);
>     event_add(&e0, NULL);
>     //----------------------------
>
>     // doesn't work: -------------
>     printf("Starting test 1...\n");
>     e1 = (struct event*) malloc(sizeof(struct event)); // <<<<<<
>     if (e1==NULL)
>     {
>         printf("malloc failed\n");
>         exit(1);
>     }
>
>     event_set(e1, sock, EV_READ, handle_new_connection, e1);
>     event_add(e1, NULL);
>     //----------------------------
>
>     return 0;
> }
>
> The first test (event structure on the stack) works correctly, however the
> malloc'ed structure seems to cause problems in event_set. Output from
> valgrind:
>
> Starting test 0...
> Starting test 1...
> ==11398== Invalid write of size 4
> ==11398==    at 0x402CA99: event_set (event.c:516)
> ==11398==    by 0x8048668: main (test6.c:33)
> ==11398==  Address 0x4172110 is 0 bytes after a block of size 72 alloc'd
> ==11398==    at 0x401C405: malloc (vg_replace_malloc.c:149)
> ==11398==    by 0x804862A: main (test6.c:26)
> ==11398==
> ...
>
> "0 bytes after a block of size 72 alloc'd" apparently means that something
> is accessing one byte after the allocated memory.
>
> Can anyone see what I'm doing wrong?
>
> I am running libevent-1.4.8-stable, and sizeof(struct event) is 72 (i386
> system).
>
> thanks,
>
>
> Tom
>
>
> _______________________________________________
> Libevent-users mailing list
> Libevent-users@monkey.org
> http://monkeymail.org/mailman/listinfo/libevent-users
>
>


-- 
"Be excellent to each other"
_______________________________________________
Libevent-users mailing list
Libevent-users@monkey.org
http://monkeymail.org/mailman/listinfo/libevent-users

Reply via email to