]> granicus.if.org Git - curl/commitdiff
polarssl, mbedtls: Fix detection of pending data
authorMichael Kaufmann <mail@michael-kaufmann.ch>
Wed, 8 Feb 2017 21:09:31 +0000 (22:09 +0100)
committerMichael Kaufmann <mail@michael-kaufmann.ch>
Wed, 8 Feb 2017 21:24:21 +0000 (22:24 +0100)
Reported-by: Dan Fandrich
Bug: https://curl.haxx.se/mail/lib-2017-02/0032.html

lib/vtls/mbedtls.c
lib/vtls/polarssl.c

index 748828023811a41db08473c00330c04e1036c09d..07239bf2668a07ede3a0251d047e5b86d6c32d67 100644 (file)
@@ -937,9 +937,7 @@ void Curl_mbedtls_cleanup(void)
 
 int Curl_mbedtls_data_pending(const struct connectdata *conn, int sockindex)
 {
-  mbedtls_ssl_context *ssl =
-    (mbedtls_ssl_context *)&conn->ssl[sockindex].ssl;
-  return ssl->in_msglen != 0;
+  return mbedtls_ssl_get_bytes_avail(&conn->ssl[sockindex].ssl) != 0;
 }
 
 #endif /* USE_MBEDTLS */
index 1a9421d821027c52b9e3ca47f2c3173e4b1795bb..e5346ce3dc03f197665b165f12c12234a0b3853e 100644 (file)
@@ -819,9 +819,7 @@ void Curl_polarssl_cleanup(void)
 
 int Curl_polarssl_data_pending(const struct connectdata *conn, int sockindex)
 {
-  ssl_context *ssl =
-    (ssl_context *)&conn->ssl[sockindex].ssl;
-  return ssl->in_msglen != 0;
+  return ssl_get_bytes_avail(&conn->ssl[sockindex].ssl) != 0;
 }
 
 #endif /* USE_POLARSSL */