Skip to content

Commit c5ac6c5

Browse files
committed
Fix memory corruption
Uncovered by coverity.
1 parent 110d81d commit c5ac6c5

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/wdctl.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,8 @@ wdctl_status(void)
200200

201201
send_request(sock, request);
202202

203-
while ((len = read(sock, buffer, sizeof(buffer))) > 0) {
203+
// -1: need some space for \0!
204+
while ((len = read(sock, buffer, sizeof(buffer) - 1)) > 0) {
204205
buffer[len] = '\0';
205206
fprintf(stdout, "%s", buffer);
206207
}
@@ -223,7 +224,7 @@ wdctl_stop(void)
223224

224225
send_request(sock, request);
225226

226-
while ((len = read(sock, buffer, sizeof(buffer))) > 0) {
227+
while ((len = read(sock, buffer, sizeof(buffer) - 1)) > 0) {
227228
buffer[len] = '\0';
228229
fprintf(stdout, "%s", buffer);
229230
}
@@ -281,7 +282,7 @@ wdctl_restart(void)
281282

282283
send_request(sock, request);
283284

284-
while ((len = read(sock, buffer, sizeof(buffer))) > 0) {
285+
while ((len = read(sock, buffer, sizeof(buffer) - 1)) > 0) {
285286
buffer[len] = '\0';
286287
fprintf(stdout, "%s", buffer);
287288
}

0 commit comments

Comments
 (0)