summaryrefslogtreecommitdiffstats
path: root/lib/librt
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2011-11-18 09:56:40 +0000
committerkib <kib@FreeBSD.org>2011-11-18 09:56:40 +0000
commit1d7264c97b79c6f87b505407a3979c17f93ca9f1 (patch)
tree16ea6a4d40919f363a918ec88103f1c2fb109268 /lib/librt
parente9eec316144eb4b4dbfa33b0d0cf3fe86231de4e (diff)
downloadFreeBSD-src-1d7264c97b79c6f87b505407a3979c17f93ca9f1.zip
FreeBSD-src-1d7264c97b79c6f87b505407a3979c17f93ca9f1.tar.gz
Free unused allocation on error.
Reported by: slonoman2011 yandex ru MFC after: 1 week
Diffstat (limited to 'lib/librt')
-rw-r--r--lib/librt/timer.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/librt/timer.c b/lib/librt/timer.c
index f02e761..90269c2 100644
--- a/lib/librt/timer.c
+++ b/lib/librt/timer.c
@@ -102,12 +102,14 @@ __timer_create(clockid_t clockid, struct sigevent *evp, timer_t *timerid)
}
if (__sigev_check_init()) {
+ free(timer);
errno = EINVAL;
return (-1);
}
sn = __sigev_alloc(SI_TIMER, evp, NULL, 0);
if (sn == NULL) {
+ free(timer);
errno = EAGAIN;
return (-1);
}
OpenPOWER on IntegriCloud