fixed strlen-bomb in run_command
This commit is contained in:
parent
086a70cde0
commit
df928892e8
1 changed files with 10 additions and 1 deletions
11
slstatus.c
11
slstatus.c
|
@ -453,6 +453,7 @@ ram_used(const char *null)
|
|||
char *
|
||||
run_command(const char* command)
|
||||
{
|
||||
int good;
|
||||
FILE *fp;
|
||||
char buffer[64];
|
||||
|
||||
|
@ -469,7 +470,15 @@ run_command(const char* command)
|
|||
pclose(fp);
|
||||
|
||||
/* add nullchar at the end */
|
||||
buffer[strlen(buffer) - 1] = '\0';
|
||||
for (int i = 0 ; i != sizeof(buffer) ; i++) {
|
||||
if (buffer[i] == '\0') {
|
||||
good = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (good) {
|
||||
buffer[strlen(buffer) - 1] = '\0';
|
||||
}
|
||||
|
||||
/* return the output */
|
||||
return smprintf("%s", buffer);
|
||||
|
|
Loading…
Reference in a new issue