osmo-auc-gen: Fix compiler warnings about aliasing

I ran "./utils/osmo-auc-gen -2 -a COMP128v1" and verified that
the RAND doen't look empty

Fixes:
osmo-auc-gen.c: In function ‘main’:
osmo-auc-gen.c:219:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   *(uint32_t *)&_rand[0] = rand();
   ^
osmo-auc-gen.c:220:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   *(uint32_t *)(&_rand[4]) = rand();
   ^
osmo-auc-gen.c:221:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   *(uint32_t *)(&_rand[8]) = rand();
   ^
osmo-auc-gen.c:222:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   *(uint32_t *)(&_rand[12]) = rand();
This commit is contained in:
Holger Hans Peter Freyther 2014-06-22 16:53:55 +02:00
parent bd8a89debc
commit 17aa6b25cb
1 changed files with 7 additions and 4 deletions

View File

@ -214,12 +214,15 @@ int main(int argc, char **argv)
}
if (!rand_is_set) {
int i;
printf("WARNING: We're using really weak random numbers!\n\n");
srand(time(NULL));
*(uint32_t *)&_rand[0] = rand();
*(uint32_t *)(&_rand[4]) = rand();
*(uint32_t *)(&_rand[8]) = rand();
*(uint32_t *)(&_rand[12]) = rand();
for (i = 0; i < 4; ++i) {
uint32_t r;
r = rand();
memcpy(&_rand[i*4], &r, 4);
}
}
if (test_aud.type == OSMO_AUTH_TYPE_NONE ||