default:
return NULL;
}
- if (iret < 0 || iret > size)
+ if (iret < 0 || iret >= size)
return NULL;
ret += iret;
} else {
if (node->options & LOG_OPT_HEXA) {
const unsigned char *port = (const unsigned char *)&((struct sockaddr_in *)sockaddr)->sin_port;
iret = snprintf(dst, size, "%02X%02X", port[0], port[1]);
- if (iret < 0 || iret > size)
+ if (iret < 0 || iret >= size)
return NULL;
ret += iret;
} else {
case LOG_FMT_TS: // %Ts
if (tmp->options & LOG_OPT_HEXA) {
iret = snprintf(tmplog, dst + maxsize - tmplog, "%04X", (unsigned int)logs->accept_date.tv_sec);
- if (iret < 0 || iret > dst + maxsize - tmplog)
+ if (iret < 0 || iret >= dst + maxsize - tmplog)
goto out;
tmplog += iret;
} else {
case LOG_FMT_MS: // %ms
if (tmp->options & LOG_OPT_HEXA) {
iret = snprintf(tmplog, dst + maxsize - tmplog, "%02X",(unsigned int)logs->accept_date.tv_usec/1000);
- if (iret < 0 || iret > dst + maxsize - tmplog)
+ if (iret < 0 || iret >= dst + maxsize - tmplog)
goto out;
tmplog += iret;
} else {
case LOG_FMT_COUNTER: // %rt
if (tmp->options & LOG_OPT_HEXA) {
iret = snprintf(tmplog, dst + maxsize - tmplog, "%04X", uniq_id);
- if (iret < 0 || iret > dst + maxsize - tmplog)
+ if (iret < 0 || iret >= dst + maxsize - tmplog)
goto out;
tmplog += iret;
} else {
case LOG_FMT_LOGCNT: // %lc
if (tmp->options & LOG_OPT_HEXA) {
iret = snprintf(tmplog, dst + maxsize - tmplog, "%04X", fe->log_count);
- if (iret < 0 || iret > dst + maxsize - tmplog)
+ if (iret < 0 || iret >= dst + maxsize - tmplog)
goto out;
tmplog += iret;
} else {
case LOG_FMT_PID: // %pid
if (tmp->options & LOG_OPT_HEXA) {
iret = snprintf(tmplog, dst + maxsize - tmplog, "%04X", pid);
- if (iret < 0 || iret > dst + maxsize - tmplog)
+ if (iret < 0 || iret >= dst + maxsize - tmplog)
goto out;
tmplog += iret;
} else {