summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/buffer.c2
-rw-r--r--vtysh/vtysh_main.c5
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/buffer.c b/lib/buffer.c
index b689549e..ee931010 100644
--- a/lib/buffer.c
+++ b/lib/buffer.c
@@ -148,7 +148,7 @@ buffer_add (struct buffer *b)
{
struct buffer_data *d;
- d = XMALLOC(MTYPE_BUFFER_DATA, offsetof(struct buffer_data, data[b->size]));
+ d = XMALLOC(MTYPE_BUFFER_DATA, offsetof(struct buffer_data, data) + b->size);
d->cp = d->sp = 0;
d->next = NULL;
diff --git a/vtysh/vtysh_main.c b/vtysh/vtysh_main.c
index 48958f0f..893c1a1c 100644
--- a/vtysh/vtysh_main.c
+++ b/vtysh/vtysh_main.c
@@ -202,9 +202,12 @@ static void log_it(const char *line)
{
time_t t = time(NULL);
struct tm *tmp = localtime(&t);
- char *user = getenv("USER") ? : "boot";
+ const char *user = getenv("USER");
char tod[64];
+ if (!user)
+ user = "boot";
+
strftime(tod, sizeof tod, "%Y%m%d-%H:%M.%S", tmp);
fprintf(logfile, "%s:%s %s\n", tod, user, line);