diff options
author | Vinson Lee <[email protected]> | 2010-01-10 00:40:46 -0800 |
---|---|---|
committer | Vinson Lee <[email protected]> | 2010-01-10 00:40:46 -0800 |
commit | 0c7814fe238fe0e2bbeff448c32f79146f9ae923 (patch) | |
tree | 8e53f5c688f083c09f0530beccc57387590f63f4 /progs | |
parent | 9e98c1fbf6fef97e017c7b308d0772604ea7a614 (diff) |
progs/demos: Bounds check input to fire.c.
Diffstat (limited to 'progs')
-rw-r--r-- | progs/demos/fire.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/progs/demos/fire.c b/progs/demos/fire.c index f30b893dbf3..475582c81ba 100644 --- a/progs/demos/fire.c +++ b/progs/demos/fire.c @@ -726,8 +726,13 @@ main(int ac, char **av) maxage = 1.0 / dt; - if (ac == 2) + if (ac == 2) { np = atoi(av[1]); + if (np <= 0 || np > 1000000) { + fprintf(stderr, "Invalid input.\n"); + exit(-1); + } + } if (ac == 4) { WIDTH = atoi(av[2]); @@ -762,6 +767,7 @@ main(int ac, char **av) assert(np > 0); p = (part *) malloc(sizeof(part) * np); + assert(p); for (i = 0; i < np; i++) setnewpart(&p[i]); |