diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2014-06-22 16:53:55 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2014-06-22 16:53:55 +0200 |
commit | 17aa6b25cb0b720279f5d8221de17b01398d0143 (patch) | |
tree | 59bcddf32bcc26e4227a686cf9e531d737be8b9d /utils | |
parent | bd8a89debc48bb6696c58a346b463d8df18febb2 (diff) |
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();
Diffstat (limited to 'utils')
-rw-r--r-- | utils/osmo-auc-gen.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/utils/osmo-auc-gen.c b/utils/osmo-auc-gen.c index ee349ae6..fda045aa 100644 --- a/utils/osmo-auc-gen.c +++ b/utils/osmo-auc-gen.c @@ -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 || |