]> ruderich.org/simon Gitweb - coloredstderr/coloredstderr.git/commitdiff
Add more error checks.
authorSimon Ruderich <simon@ruderich.org>
Thu, 13 Jun 2013 19:56:50 +0000 (21:56 +0200)
committerSimon Ruderich <simon@ruderich.org>
Thu, 13 Jun 2013 19:56:50 +0000 (21:56 +0200)
src/debug.h
src/trackfds.h

index 4a7c00bc107949f2a9ab5b7aaea3c3c1452a429e..5e5cc6d937ef55e7e73de1f62310183daa40bb8a 100644 (file)
@@ -24,8 +24,10 @@ static void debug_write(int fd, int first_call, char const *format, va_list ap)
     char buffer[1024];
 
     int written = vsnprintf(buffer, sizeof(buffer), format, ap);
+    if (written < 0) {
+        return; /* shouldn't happen */
     /* Overflow. */
-    if ((size_t)written >= sizeof(buffer)) {
+    } else if ((size_t)written >= sizeof(buffer)) {
         written = sizeof(buffer) - 1;
     }
 
index ed2ea57738227a046ee290ded817182d9bca1e4a..00b3b6e3b55da47e7c66453e609e6b7754a6071d 100644 (file)
@@ -169,7 +169,7 @@ static char *update_environment_buffer_entry(char *x, int fd) {
     assert(fd >= 0);
 
     int length = snprintf(x, 10 + 1, "%d", fd);
-    if (length >= 10 + 1) {
+    if (length >= 10 + 1 || length <= 0 /* shouldn't happen */) {
         /* Integer too big to fit the buffer, skip it. */
 #ifdef WARNING
         warning("update_environment_buffer_entry(): truncated fd: %d [%d]\n",