From: Michael Stapelberg Date: Sat, 9 Sep 2017 09:41:07 +0000 (+0200) Subject: Merge pull request #2911 from i3/asan X-Git-Tag: 4.15~108 X-Git-Url: https://git.sur5r.net/?p=i3%2Fi3;a=commitdiff_plain;h=448af7ce5fee161acaab8518e6101bbbd816a3db;hp=f54ee70ff951702a6a108ba9cfdcc4eba22ee008 Merge pull request #2911 from i3/asan i3bar: ensure get_buffer does not leak memory --- diff --git a/.travis.yml b/.travis.yml index 63f69ac8..de9ff3fc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,8 @@ sudo: false dist: trusty +# TODO: remove “group” once trusty kernel is no longer affected by +# https://github.com/google/sanitizers/issues/837 +group: deprecated-2017Q3 services: - docker language: c diff --git a/i3bar/src/child.c b/i3bar/src/child.c index 814f0411..fe989c44 100644 --- a/i3bar/src/child.c +++ b/i3bar/src/child.c @@ -333,10 +333,12 @@ static unsigned char *get_buffer(ev_io *watcher, int *ret_buffer_len) { break; } ELOG("read() failed!: %s\n", strerror(errno)); + FREE(buffer); exit(EXIT_FAILURE); } if (n == 0) { ELOG("stdin: received EOF\n"); + FREE(buffer); *ret_buffer_len = -1; return NULL; }