diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-07-26 10:45:10 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-07-26 10:45:10 -0400 |
commit | 6a81b1f5a423aa5ec237c085c94bdc0a6cfd9e5d (patch) | |
tree | 58e8fc9f60e7fcc06cf9ca98fe6e5a7829bd9e4f /buffer.c | |
parent | 6487f63b79cfbc22262720ac6afbb51de819c2aa (diff) | |
download | libevent-6a81b1f5a423aa5ec237c085c94bdc0a6cfd9e5d.tar.gz |
Avoid double-free on error in evbuffer_add_file. Found by coverity.
Diffstat (limited to 'buffer.c')
-rw-r--r-- | buffer.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -3184,7 +3184,8 @@ evbuffer_add_file(struct evbuffer *buf, int fd, ev_off_t offset, ev_off_t length if (!seg) return -1; r = evbuffer_add_file_segment(buf, seg, 0, length); - evbuffer_file_segment_free(seg); + if (r == 0) + evbuffer_file_segment_free(seg); return r; } |