X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/c3eb0c401200320151770680b9291197e759bfc9..f62d626d9b7958362fcf3605bcd2280295c0a30c:/slstatus.c diff --git a/slstatus.c b/slstatus.c index 2b63be4..21cda51 100644 --- a/slstatus.c +++ b/slstatus.c @@ -30,7 +30,6 @@ #include "extern/arg.h" #include "extern/strlcat.h" -#include "extern/strlcpy.h" #include "extern/concat.h" struct arg { @@ -759,7 +758,7 @@ int main(int argc, char *argv[]) { unsigned short int i; - char status_string[4096]; + char status_string[2048]; char *res, *element; struct arg argument; struct sigaction act; @@ -811,7 +810,8 @@ main(int argc, char *argv[]) element = smprintf(UNKNOWN_STR); warnx("Failed to format output"); } - strlcat(status_string, element, sizeof(status_string)); + if (strlcat(status_string, element, sizeof(status_string)) >= sizeof(status_string)) + warnx("Output too long"); free(res); free(element); }