Index: usr.bin/top/display.c =================================================================== --- usr.bin/top/display.c +++ usr.bin/top/display.c @@ -960,7 +960,7 @@ va_start(args, msgfmt); /* first, format the message */ - vsnprintf(next_msg, strlen(next_msg), msgfmt, args); + vsnprintf(next_msg, screen_width + 5, msgfmt, args); va_end(args); @@ -1350,12 +1350,12 @@ if (NULL == buffer) { setup_buffer_bufsiz = screen_width; - b = calloc(setup_buffer_bufsiz + addlen, sizeof(char)); + b = calloc(setup_buffer_bufsiz + addlen + 2, sizeof(char)); } else { if (screen_width > setup_buffer_bufsiz) { setup_buffer_bufsiz = screen_width; free(buffer); - b = calloc(setup_buffer_bufsiz + addlen, + b = calloc(setup_buffer_bufsiz + addlen + 2, sizeof(char)); } else { b = buffer;