From b265fd09f9a606582ab423e54a8d2bfb242c2620 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 16 Mar 2017 19:40:36 +0000 Subject: free buffer if pthread_setspecific fails Unlikely, but we must not leak memory if pthread_setspecific somehow fails. --- ext/sleepy_penguin/init.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ext/sleepy_penguin/init.c b/ext/sleepy_penguin/init.c index 01bb52f..f9671eb 100644 --- a/ext/sleepy_penguin/init.c +++ b/ext/sleepy_penguin/init.c @@ -113,6 +113,7 @@ void *rb_sp_gettlsbuf(size_t *size) buf->capa = *size; err = pthread_setspecific(rb_sp_key, buf); if (err != 0) { + free(buf); errno = err; rb_sys_fail("BUG: pthread_setspecific"); } -- cgit v1.2.3-24-ge0c7