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 || | 
