terminal: remove stack allocations

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
This commit is contained in:
Christian Brauner 2019-02-05 07:26:19 +01:00
parent 97f35ce6f8
commit 2530ba9597
No known key found for this signature in database
GPG Key ID: 8EB056D53EECB12D

View File

@ -44,6 +44,7 @@
#include "log.h"
#include "lxclock.h"
#include "mainloop.h"
#include "memory_utils.h"
#include "start.h"
#include "syscall_wrappers.h"
#include "terminal.h"
@ -199,9 +200,9 @@ static int lxc_terminal_truncate_log_file(struct lxc_terminal *terminal)
static int lxc_terminal_rotate_log_file(struct lxc_terminal *terminal)
{
__do_free char *tmp = NULL;
int ret;
size_t len;
char *tmp;
if (!terminal->log_path || terminal->log_rotate == 0)
return -EOPNOTSUPP;
@ -211,7 +212,7 @@ static int lxc_terminal_rotate_log_file(struct lxc_terminal *terminal)
return -EBADF;
len = strlen(terminal->log_path) + sizeof(".1");
tmp = alloca(len);
tmp = must_realloc(NULL, len);
ret = snprintf(tmp, len, "%s.1", terminal->log_path);
if (ret < 0 || (size_t)ret >= len)