Xinqi Bao's Git
projects
/
slstatus.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
whhops
[slstatus.git]
/
slstatus.c
diff --git
a/slstatus.c
b/slstatus.c
index
2b63be4
..
21cda51
100644
(file)
--- a/
slstatus.c
+++ b/
slstatus.c
@@
-30,7
+30,6
@@
#include "extern/arg.h"
#include "extern/strlcat.h"
#include "extern/arg.h"
#include "extern/strlcat.h"
-#include "extern/strlcpy.h"
#include "extern/concat.h"
struct arg {
#include "extern/concat.h"
struct arg {
@@
-759,7
+758,7
@@
int
main(int argc, char *argv[])
{
unsigned short int i;
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;
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");
}
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);
}
free(res);
free(element);
}