I think you're wrong about sizeof and pointers. It'll return 4 or 8 depending if it's a 32 or 64 bit system. Try the following code:
#include <stdio.h> typedef struct _s1 { int x; int y; int z; } S1; typedef struct _s2 { double d1; double d2; double d3; double d4; int x1; int x2; } S2; int main (int argc, char *argv[]) { S1 *first; S2 *second; printf("%d %d\n", sizeof(first), sizeof(second)); } You're right about the memset, good catch. So it appears there are two issues with this commit. On 05/04/2015 09:35 AM, Stephan Mühlstrasser wrote: > Am 04.05.15 um 14:51 schrieb John Foley: >> Is anyone seeing a segmentation fault during the test_verify phase of >> make test on 32-bit systems? I haven't done a full triage yet. But it >> appears to have been introduced by >> 5b38d54753acdabbf6b1d5e15d38ee81fb0612a2. The problem no longer occurs >> when backing out this commit. This could be a faulty commit since the >> sizeof invocations in this commit would return different values for >> 32/64 bit systems. > > The sizeof invocations do not return the pointer sizes, but the size > of the structures pointed to. > > The problem is that there's apparently a copy&paste error: > > https://github.com/openssl/openssl/commit/53ba0a9e91ad203de2943edaf1090ab17ec435fa > > > 172 memset(param, 0, sizeof *paramid); > 173 memset(paramid, 0, sizeof *paramid); > > The first memset should be fixed to use "*param" instead of "*paramid": > > memset(param, 0, sizeof *param); > > Regards > Stephan > _______________________________________________ > openssl-dev mailing list > To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev > _______________________________________________ openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev