Merge pull request #8 from westermo/master

Check timer period and timeout arguments
This commit is contained in:
Joachim Nilsson
2016-06-17 13:51:02 +02:00
committed by GitHub
+10
View File
@@ -67,6 +67,11 @@ int uev_timer_init(uev_ctx_t *ctx, uev_t *w, uev_cb_t *cb, void *arg, int timeou
{
int fd;
if (timeout < 0 || period < 0) {
errno = ERANGE;
return -1;
}
fd = timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK | TFD_CLOEXEC);
if (fd < 0)
return -1;
@@ -100,6 +105,11 @@ int uev_timer_set(uev_t *w, int timeout, int period)
return -1;
}
if (timeout < 0 || period < 0) {
errno = ERANGE;
return -1;
}
/* Handle stopped timers */
if (w->fd < 0) {
/* Timer already stopped */