mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-07 02:08:40 +00:00
log: check for i/o error with vsnprintf()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
This commit is contained in:
parent
a760603e3b
commit
be5c06ece4
@ -264,7 +264,7 @@ static int log_append_logfile(const struct lxc_log_appender *appender,
|
|||||||
{
|
{
|
||||||
char buffer[LXC_LOG_BUFFER_SIZE];
|
char buffer[LXC_LOG_BUFFER_SIZE];
|
||||||
char date_time[LXC_LOG_TIME_SIZE];
|
char date_time[LXC_LOG_TIME_SIZE];
|
||||||
int n;
|
int n, ret;
|
||||||
int fd_to_use = -1;
|
int fd_to_use = -1;
|
||||||
|
|
||||||
#ifndef NO_LXC_CONF
|
#ifndef NO_LXC_CONF
|
||||||
@ -295,8 +295,13 @@ static int log_append_logfile(const struct lxc_log_appender *appender,
|
|||||||
if (n < 0)
|
if (n < 0)
|
||||||
return n;
|
return n;
|
||||||
|
|
||||||
if ((size_t)n < (sizeof(buffer) - 1))
|
if ((size_t)n < (sizeof(buffer) - 1)) {
|
||||||
n += vsnprintf(buffer + n, sizeof(buffer) - n, event->fmt, *event->vap);
|
ret = vsnprintf(buffer + n, sizeof(buffer) - n, event->fmt, *event->vap);
|
||||||
|
if (ret < 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
n += ret;
|
||||||
|
}
|
||||||
|
|
||||||
if ((size_t)n >= sizeof(buffer))
|
if ((size_t)n >= sizeof(buffer))
|
||||||
n = sizeof(buffer) - 1;
|
n = sizeof(buffer) - 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user