diff options
| author | Khem Raj <raj.khem@gmail.com> | 2015-12-30 23:53:36 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2015-12-31 08:28:14 +0000 |
| commit | ff91d2d78d96441893acd1b1099726346e7f84cf (patch) | |
| tree | abe74c929632c06b4bfeb2abbef2fc9ae949e58e | |
| parent | d295a8a93c88bbd65ecfa57f4b70c9c4c6286e97 (diff) | |
| download | puzzles-ff91d2d78d96441893acd1b1099726346e7f84cf.zip puzzles-ff91d2d78d96441893acd1b1099726346e7f84cf.tar.gz puzzles-ff91d2d78d96441893acd1b1099726346e7f84cf.tar.bz2 puzzles-ff91d2d78d96441893acd1b1099726346e7f84cf.tar.xz | |
rect: Fix compiler errors about uninitialized use of variables
error: 'r2.x' may be used uninitialized in this function
Its happening when using gcc 5.3 with musl C library. its considering
the case when case falls into default and immediately after exiting
this there is a check if (r1.h > 0 && r1.w > 0) where r1 element is
used but not assigned anything.
GCC is not noticing the control flow where the initilization will
always work due to assertion call can be a function call from libc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
| -rw-r--r-- | rect.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1317,7 +1317,8 @@ static char *new_game_desc(const game_params *params_in, random_state *rs, if (ndirs > 0) { int which, dir; struct rect r1, r2; - + memset(&r1, 0, sizeof(struct rect)); + memset(&r2, 0, sizeof(struct rect)); which = random_upto(rs, ndirs); dir = dirs[which]; |