From cc72c09b84b6e99bfcaf41255eec1987b0dc836f Mon Sep 17 00:00:00 2001 From: Patryk Kaczmarek Date: Tue, 18 Sep 2012 11:38:08 +0000 Subject: [PATCH] From: Patryk Kaczmarek Subject: [E-devel] [Patch] [Ecore] Protection for giving below zero values for ecore_poll and ecore_timer Please also check attached patch for ecore_timer_interval_set and ecore_poller_poll_interval_set. It checks if given time is not zero or below zero. SVN revision: 76805 --- legacy/ecore/src/lib/ecore/ecore_poll.c | 7 +++++++ legacy/ecore/src/lib/ecore/ecore_timer.c | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/legacy/ecore/src/lib/ecore/ecore_poll.c b/legacy/ecore/src/lib/ecore/ecore_poll.c index 384ee68228..089212ef57 100644 --- a/legacy/ecore/src/lib/ecore/ecore_poll.c +++ b/legacy/ecore/src/lib/ecore/ecore_poll.c @@ -194,6 +194,13 @@ ecore_poller_poll_interval_set(Ecore_Poller_Type type __UNUSED__, double poll_time) { EINA_MAIN_LOOP_CHECK_RETURN; + + if (poll_time < 0.0) + { + ERR("Poll time %f less than zero, ignored", poll_time); + return; + } + poll_interval = poll_time; _ecore_poller_next_tick_eval(); } diff --git a/legacy/ecore/src/lib/ecore/ecore_timer.c b/legacy/ecore/src/lib/ecore/ecore_timer.c index b5b6e6dd05..e462b37b34 100644 --- a/legacy/ecore/src/lib/ecore/ecore_timer.c +++ b/legacy/ecore/src/lib/ecore/ecore_timer.c @@ -233,6 +233,12 @@ ecore_timer_interval_set(Ecore_Timer *timer, EINA_MAIN_LOOP_CHECK_RETURN; _ecore_lock(); + if (in < 0.0) + { + ERR("Interval %f less than zero, ignored", in); + goto unlock; + } + if (!ECORE_MAGIC_CHECK(timer, ECORE_MAGIC_TIMER)) { ECORE_MAGIC_FAIL(timer, ECORE_MAGIC_TIMER,