diff --git a/ChangeLog b/ChangeLog index 96c498f9..84d65cf2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,8 @@ Changes in 1.4.4-stable: o Correct the documentation on buffer printf functions. o Don't warn on unimplemented epoll_create(): this isn't a problem, just a reason to fall back to poll or select. o Correctly handle timeouts larger than 35 minutes on Linux with epoll.c. This is probably a kernel defect, but we'll have to support old kernels anyway even if it gets fixed. + o Fix a potential stack corruption bug in tagging on 64-bit CPUs. + Changes in 1.4.3-stable: o include Content-Length in reply for HTTP/1.0 requests with keep-alive diff --git a/event_tagging.c b/event_tagging.c index c67ea8a5..d436e3fd 100644 --- a/event_tagging.c +++ b/event_tagging.c @@ -93,7 +93,7 @@ encode_int(struct evbuffer *evbuf, ev_uint32_t number) int off = 1, nibbles = 0; ev_uint8_t data[5]; - memset(data, 0, sizeof(data)); + memset(data, 0, sizeof(ev_uint32_t)+1); while (number) { if (off & 0x1) data[off/2] = (data[off/2] & 0xf0) | (number & 0x0f);