tests: fix out of bounds access in the rx-event test

Use the NUMEVENTS symbol which defines the array size instead of an
incorrect hard coded number when checking if a second event can be added
to be fired at the same time.  This fixes a potential out of bounds
access of the event test array.

Also update the comment which incorrectly mentions the incorrect number
of events in the test.

Change-Id: I4f993b42e53e7e6a42fa31302fd1baa70e9f5041
Reviewed-on: https://gerrit.openafs.org/12762
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
This commit is contained in:
Michael Meffie 2017-11-06 17:37:46 -05:00 committed by Benjamin Kaduk
parent 2ae84bf053
commit 50a3eb7b7e

View File

@ -144,7 +144,7 @@ main(void)
ok(pthread_create(&handler, NULL, eventHandler, NULL) == 0,
"Created handler thread");
/* Add 1000 random events to fire over the next 3 seconds, but front-loaded
/* Add a number of random events to fire over the next 3 seconds, but front-loaded
* a bit so that we can exercise the cancel/fire race path. */
for (counter = 0; counter < NUMEVENTS; counter++) {
@ -160,7 +160,7 @@ main(void)
= rxevent_Post(&eventTime, &now, eventSub, &events[counter], NULL, 0);
/* A 10% chance that we will schedule another event at the same time */
if (counter!=999 && random() % 10 == 0) {
if (counter < (NUMEVENTS - 1) && random() % 10 == 0) {
counter++;
events[counter].event
= rxevent_Post(&eventTime, &now, eventSub, &events[counter],