diff options
Diffstat (limited to 'ulogd/extensions/ulogd_BASE.c')
-rw-r--r-- | ulogd/extensions/ulogd_BASE.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ulogd/extensions/ulogd_BASE.c b/ulogd/extensions/ulogd_BASE.c index 412dc89..61bad21 100644 --- a/ulogd/extensions/ulogd_BASE.c +++ b/ulogd/extensions/ulogd_BASE.c @@ -82,8 +82,12 @@ static ulog_iret_t *_interp_raw(ulog_interpreter_t *ip, for (i = 0; i < pkt->mac_len; i++, p++) { tmp = snprintf(ptr+len, siz-len, "%02x%s", *p, i==pkt->mac_len-1 ? "":":"); - if (tmp > siz-len) + if (tmp < 0) break; + if (tmp >= siz-len) { + buf[siz] = '\0'; + break; + } len += tmp; } ret[0].value.ptr = buf; |