On Sat Jul 4 11:45:50 EDT 2009, lejatorn@gmail.com wrote: > Hello all, > > I have this piece of code that looks like this: > > for (int i=0; i<5 ; i++){ > for (int j=0; j print("%.2ux", (tor->sha1list)[i][j]); > print("\n"); [...] > which gives that kind of input: > > f8c3f943edf54d28e3f894e9416d5312a49c3916 > 5d7a30beaef2b56a06b8aea37cd3263698825ec3 > b456f6749bf907233c183c04277569aa0833e386 > 3e2d9cee1e07d3d770f1a6081a006394cb4b35d3 > c43a3bd4caa813a75f58096068309ede6e96cacd > addr called: tcp!127.0.0.1!6895 > 6970000034930300eb9803000e0000000e000000 > 5d7a30bed80802313cc70000349303003ffd0100 > b456f6749bf907233c183c04277569aa0833e386 > 3e2d9cee1e07d3d770f1a6081a006394cb4b35d3 > c43a3bd4caa813a75f58096068309ede6e96cacd [...] > so it seems like something happens when calling dial which modifies what > I have in memory pointed by tor->sha1list[i], the extra () around tor->sha1list are confusing. it is more likely that you have some allocation error in your code. neither netmkaddr nor dial do any allocation, so i don't see how memory on the heap could get corrupted without help. the three most common errors that cause this are (a) not allocating enough memory by, e.g. malloc(sizeof tor) not malloc(sizeof *tor). or (b) pointing to a non-static on the stack, or (c) mistyping of tor->sha1list so that sizeof tor->sha1list[0][0] != 1. i've attached a filled-out version that has no memory leaks as verified by leak and produces correct output. if you wish you can check pool(2) and set up all kinds of pool checking. to verify. here's the output ; 8c -FVTw l.c && 8l l.8 && 8.out 000102030405060708090a0b0c0d0e0f10111213 1415161718191a1b1c1d1e1f2021222324252627 28292a2b2c2d2e2f303132333435363738393a3b 3c3d3e3f404142434445464748494a4b4c4d4e4f 505152535455565758595a5b5c5d5e5f60616263 addr called: tcp!ladd!8088 pid 376527 000102030405060708090a0b0c0d0e0f10111213 1415161718191a1b1c1d1e1f2021222324252627 28292a2b2c2d2e2f303132333435363738393a3b 3c3d3e3f404142434445464748494a4b4c4d4e4f 505152535455565758595a5b5c5d5e5f60616263 - erik