diff --git a/cansniffer.c b/cansniffer.c index b95f11b..f07c16b 100644 --- a/cansniffer.c +++ b/cansniffer.c @@ -690,12 +690,15 @@ void writesettings(char* name){ for (i=0; i < 2048 ;i++) { sprintf(buf, "<%03X>%c.", i, (is_set(i, ENABLE))?'1':'0'); - write(fd, buf, 7); + if (write(fd, buf, 7) < 0) + perror("write"); for (j=0; j<8 ; j++){ sprintf(buf, "%02X", sniftab[i].notch.data[j]); - write(fd, buf, 2); + if (write(fd, buf, 2) < 0) + perror("write"); } - write(fd, "\n", 1); + if (write(fd, "\n", 1) < 0) + perror("write"); /* 7 + 16 + 1 = 24 bytes per entry */ } close(fd); diff --git a/jacd.c b/jacd.c index bac4060..0970520 100644 --- a/jacd.c +++ b/jacd.c @@ -484,7 +484,8 @@ int main(int argc, char *argv[]) break; case 'p': #ifdef _GNU_SOURCE - asprintf(&program_invocation_name, "%s.%s", program_invocation_short_name, optarg); + if (asprintf(&program_invocation_name, "%s.%s", program_invocation_short_name, optarg) < 0) + error(1, errno, "asprintf(program invocation name)"); #else error(0, 0, "compile with -D_GNU_SOURCE to use -p"); #endif diff --git a/jsr.c b/jsr.c index 0303af0..b42e465 100644 --- a/jsr.c +++ b/jsr.c @@ -210,7 +210,8 @@ int main(int argc, char **argv) exit(1); } } else { - write(STDOUT_FILENO, buf, ret); + if (write(STDOUT_FILENO, buf, ret) < 0) + error(1, errno, "write(stdout)"); } } } diff --git a/slcan_attach.c b/slcan_attach.c index 40bddc8..7f79280 100644 --- a/slcan_attach.c +++ b/slcan_attach.c @@ -157,25 +157,40 @@ int main(int argc, char **argv) if (speed) { sprintf(buf, "C\rS%s\r", speed); - write(fd, buf, strlen(buf)); + if (write(fd, buf, strlen(buf)) <= 0) { + perror("write"); + exit(EXIT_FAILURE); + } } if (btr) { sprintf(buf, "C\rs%s\r", btr); - write(fd, buf, strlen(buf)); + if (write(fd, buf, strlen(buf)) <= 0) { + perror("write"); + exit(EXIT_FAILURE); + } } if (send_read_status_flags) { sprintf(buf, "F\r"); - write(fd, buf, strlen(buf)); + if (write(fd, buf, strlen(buf)) <= 0) { + perror("write"); + exit(EXIT_FAILURE); + } } if (send_listen) { sprintf(buf, "L\r"); - write(fd, buf, strlen(buf)); + if (write(fd, buf, strlen(buf)) <= 0) { + perror("write"); + exit(EXIT_FAILURE); + } } else if (send_open) { sprintf(buf, "O\r"); - write(fd, buf, strlen(buf)); + if (write(fd, buf, strlen(buf)) <= 0) { + perror("write"); + exit(EXIT_FAILURE); + } } /* set slcan line discipline on given tty */ @@ -229,7 +244,10 @@ int main(int argc, char **argv) if (send_close) { sprintf(buf, "C\r"); - write(fd, buf, strlen(buf)); + if (write(fd, buf, strlen(buf)) <= 0) { + perror("write"); + exit(EXIT_FAILURE); + } } } diff --git a/slcand.c b/slcand.c index f903738..37bf990 100644 --- a/slcand.c +++ b/slcand.c @@ -326,25 +326,40 @@ int main(int argc, char *argv[]) if (speed) { sprintf(buf, "C\rS%s\r", speed); - write(fd, buf, strlen(buf)); + if (write(fd, buf, strlen(buf)) <= 0) { + perror("write"); + exit(EXIT_FAILURE); + } } if (btr) { sprintf(buf, "C\rs%s\r", btr); - write(fd, buf, strlen(buf)); + if (write(fd, buf, strlen(buf)) <= 0) { + perror("write"); + exit(EXIT_FAILURE); + } } if (send_read_status_flags) { sprintf(buf, "F\r"); - write(fd, buf, strlen(buf)); + if (write(fd, buf, strlen(buf)) <= 0) { + perror("write"); + exit(EXIT_FAILURE); + } } if (send_listen) { sprintf(buf, "L\r"); - write(fd, buf, strlen(buf)); + if (write(fd, buf, strlen(buf)) <= 0) { + perror("write"); + exit(EXIT_FAILURE); + } } else if (send_open) { sprintf(buf, "O\r"); - write(fd, buf, strlen(buf)); + if (write(fd, buf, strlen(buf)) <= 0) { + perror("write"); + exit(EXIT_FAILURE); + } } /* set slcan like discipline on given tty */ @@ -412,7 +427,10 @@ int main(int argc, char *argv[]) if (send_close) { sprintf(buf, "C\r"); - write(fd, buf, strlen(buf)); + if (write(fd, buf, strlen(buf)) <= 0) { + perror("write"); + exit(EXIT_FAILURE); + } } /* Reset old rates */