diff options
Diffstat (limited to 'cmd/zed/zed_event.c')
-rw-r--r-- | cmd/zed/zed_event.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cmd/zed/zed_event.c b/cmd/zed/zed_event.c index 1a5f15ebf..b289ebf22 100644 --- a/cmd/zed/zed_event.c +++ b/cmd/zed/zed_event.c @@ -264,6 +264,13 @@ _zed_event_add_var(uint64_t eid, zed_strings_t *zsp, *dstp++ = '='; buflen--; + if (buflen <= 0) { + errno = EMSGSIZE; + zed_log_msg(LOG_WARNING, "Failed to add %s for eid=%llu: %s", + keybuf, eid, "Exceeded buffer size"); + return (-1); + } + va_start(vargs, fmt); n = vsnprintf(dstp, buflen, fmt, vargs); va_end(vargs); |