about summary refs log tree commit homepage
path: root/ext/sleepy_penguin/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sleepy_penguin/init.c')
-rw-r--r--ext/sleepy_penguin/init.c1
1 files changed, 1 insertions, 0 deletions
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");
         }