]> ruderich.org/simon Gitweb - tlsproxy/tlsproxy.git/blobdiff - src/connection.c
Check return value in tls_send_invalid_cert_message().
[tlsproxy/tlsproxy.git] / src / connection.c
index 54752aceae38a547dd80f5bcacd7e549ac459c6e..15eb321d811965d4f0b1a71c72659fb500a3d5ea 100644 (file)
@@ -617,6 +617,7 @@ static void tls_send_invalid_cert_message(gnutls_session_t session) {
     const char msg[]   = "Server certificate validation failed, check logs.";
 
     int result;
+    ssize_t size_written;
     char buffer[sizeof(HTTP_RESPONSE_FORMAT)
                 + 3 * sizeof(error) + sizeof(msg)];
 
@@ -624,7 +625,13 @@ static void tls_send_invalid_cert_message(gnutls_session_t session) {
                                               error, "", error, error, msg);
     assert(result > 0 && (size_t)result < sizeof(buffer));
 
-    gnutls_record_send(session, buffer, strlen(buffer));
+    size_written = gnutls_record_send(session, buffer, strlen(buffer));
+    if (size_written < 0) {
+        LOG(WARNING, "tls_send_invalid_cert_message(): "
+                     "gnutls_record_send(): %s",
+                     gnutls_strerror((int)size_written));
+    }
+    /* Just an error message, no need to check if everything was written. */
 }
 
 
@@ -696,8 +703,8 @@ static int read_from_write_to(int from, int to) {
         return -1;
     }
     if (size_read != size_written) {
-        LOG(ERROR, "read_from_write_to(): only written %ld of %ld bytes!",
-                   (long int)size_written, (long int)size_read);
+        LOG(ERROR, "read_from_write_to(): only written %zu of %zu bytes!",
+                   size_written, size_read);
         return -1;
     }
 
@@ -724,8 +731,8 @@ static void transfer_data_tls(int client, int server,
     if (gnutls_record_get_max_size(server_session) < buffer_size) {
         buffer_size = gnutls_record_get_max_size(server_session);
     }
-    LOG(DEBUG2, "transfer_data_tls(): suggested buffer size: %ld",
-                (long int)buffer_size);
+    LOG(DEBUG2, "transfer_data_tls(): suggested buffer size: %zu",
+                buffer_size);
 
     for (;;) {
         int result = poll(fds, 2 /* fd count */, -1 /* no timeout */);
@@ -771,8 +778,8 @@ static int read_from_write_to_tls(gnutls_session_t from,
     char buffer[16384]; /* GnuTLS default maximum */
 
     if (buffer_size > sizeof(buffer)) {
-        LOG(WARNING, "read_from_write_to_tls(): reduced buffer size to %ld",
-                     (long int)(sizeof(buffer)));
+        LOG(WARNING, "read_from_write_to_tls(): reduced buffer size to %zu",
+                     sizeof(buffer));
         buffer_size = sizeof(buffer);
     }
 
@@ -793,8 +800,8 @@ static int read_from_write_to_tls(gnutls_session_t from,
         return -1;
     }
     if (size_read != size_written) {
-        LOG(ERROR, "read_from_write_to_tls(): only written %ld of %ld bytes!",
-                   (long int)size_written, (long int)size_read);
+        LOG(ERROR, "read_from_write_to_tls(): only written %zu of %zu bytes!",
+                   size_written, size_read);
         return -1;
     }