Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 61fa7b7d | 2019-03-03 19:03:29 | buffer: make evbuffer_prepend() of zero-length array no-op Refs: #774 (cherry picked from commit c4fbae3ae6166dddfa126734edd63213afa14dce) | ||
| 6a3dd717 | 2019-03-03 18:58:57 | Merge branch 'evbuffer-empty-chain-handling' * evbuffer-empty-chain-handling: buffer: do not rely on ->off in advance_last_with_data() buffer: fix evbuffer_remove_buffer() with empty chain in front test: verify content of the buffer in evbuffer/remove_buffer_with_empty* (cherry picked from commit b69524c004fb68bcd9475e7aa61f5a7cdb45d304) | ||
| 12e0d889 | 2018-10-28 16:46:24 | Convert evbuffer_strspn() (internal helper) to use size_t As pointed by @yankeehacker in #590: Signed to Unsigned Conversion Error - buffer.c:1623 Description: This assignment creates a type mismatch by populating an unsigned variable with a signed value. The signed integer will be implicitly cast to an unsigned integer, converting negative values into positive ones. If an attacker can control the signed value, it may be possible to trigger a buffer overflow if the value specifies the length of a memory write. Remediation: Do not rely on implicit casts between signed and unsigned values because the result can take on an unexpected value and violate weak assumptions made elsewhere in the program. Fixes: #590 (cherry picked from commit 931ec2370228e40309af51b86e10fa364a37a20e) | ||
| 5e439e50 | 2018-10-28 15:16:24 | buffer: add an assert for last_with_datap to suppress static analyzer ../buffer.c:2231:6: warning: Access to field 'flags' results in a dereference of a null pointer if (CHAIN_SPACE_LEN(*firstchainp) == 0) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../buffer.c:130:30: note: expanded from macro 'CHAIN_SPACE_LEN' #define CHAIN_SPACE_LEN(ch) ((ch)->flags & EVBUFFER_IMMUTABLE ? \ (cherry picked from commit f83ac92da9fff789135d1e5b9050653cf7fdb517) | ||
| cdd52e7f | 2018-05-23 15:39:13 | Fix missing LIST_HEAD Despite the presence of 'sys/queue.h' in some stdlib implementations (i.e. uclibc) 'LIST_HEAD' macro can be missing. This fix defines this macro in the same manner as was done previously for 'TAILQ_'. Fixes: #539 Closes: #639 (cherry-picked) Backport: 2.1.9 (cherry picked from commit 95918754d2ba7e6bffe0fc74bebed60bd917c10c) | ||
| d6326104 | 2018-04-20 15:48:32 | Fix assert() condition in evbuffer_drain() for IOCP In the case of iocp, in the for loop above, there is a situation where: remaining == chain->off == 0 And this happens due to CHAIN_PINNED_R() case (that is used only in buffer_iocp.c) Closes: #630 (picked) (cherry picked from commit ab3224c3e66cf92779f8bd91ffe90445e636fa50) | ||
| 2b4d127d | 2018-02-12 19:43:13 | buffer: fix incorrect unlock of the buffer mutex (for deferred callbacks) TSAN reports: WARNING: ThreadSanitizer: unlock of an unlocked mutex (or by a wrong thread) (pid=17111) #0 pthread_mutex_unlock /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:3621 (libtsan.so.0+0x00000003b71c) #1 evbuffer_add <null> (libevent_core-2.2.so.1+0x00000000ddb6) ... Mutex M392 (0x7b0c00000f00) created at: #0 pthread_mutex_init /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:1117 (libtsan.so.0+0x0000000291af) #1 <null> <null> (libevent_pthreads-2.2.so.1+0x000000000d46) ... $ addr2line -e /lib/libevent_core-2.2.so.1 0x00000000ddb6 /src/libevent/buffer.c:1815 (discriminator 1) Introduced-in: ae2b84b2575be93d0aebba5c0b78453836f89f3c ("Replace deferred_cbs with event_callback-based implementation.") (cherry picked from commit 93913da1c4a528e0a832dc8dc163fa30f3e580d4) | ||
| 9f4d0dce | 2017-08-14 23:03:48 | Fix wrong assert in evbuffer_drain() "chain" cannot be NULL here because we have at least one chain (we handle empty buffer separatelly) and hence loop will be executed at least once. Link: https://github.com/libevent/libevent/commit/841ecbd96105c84ac2e7c9594aeadbcc6fb38bc4#commitcomment-23631347 Signed-off-by: Ivan Maidanski <i.maidanski@samsung.com> Signed-off-by: Azat Khuzhin <a3at.mail@gmail.com> (cherry picked from commit b26996a05d9e7aad32e78a7bfab6454d5c11500a) | ||
| a0bfe2c4 | 2017-03-08 17:58:26 | Merge branch 'cmake-configure-fixes-v2' Fixes in cmake, to make it more like configure and support some cross-compiling. * cmake-configure-fixes-v2: cmake: fix extracting of the version from git (check for number of matches) Detect arch4random_addrandom() existence Use off_t instead of ev_off_t for sendfile() (fixes android build) cmake: detect _GNU_SOURCE not by __GNU_LIBRARY__ only (fallback to _GNU_SOURCE) Check for WNOWAIT in waitpid() in runtime (not in cmake/configure) cmake: add <pthread.h> into CMAKE_REQUIRED_INCLUDES for sizeof(pthread_t) cmake: fix values for #cmakedefine cmake: drop duplicates from event-config template cmake: add value for the #cmakedefine macros (like autoconf) cmake: Fix checking of enum values from sysctl.h (cherry picked from commit 5aade2d30b6c5eff226cbf7b63fda5a01987ba4f) | ||
| 2c62062e | 2016-12-06 11:55:44 | Fix signedness differ for iov_base (solaris) |