From 50a3eb7b7ee94bffaadc98429bd404164e89ec7f Mon Sep 17 00:00:00 2001 From: Michael Meffie Date: Mon, 6 Nov 2017 17:37:46 -0500 Subject: [PATCH] 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 Tested-by: BuildBot --- tests/rx/event-t.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/rx/event-t.c b/tests/rx/event-t.c index bc07fd3..9c2b8e1 100644 --- a/tests/rx/event-t.c +++ b/tests/rx/event-t.c @@ -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], -- 1.9.4