Add int casts to BIO_ctrl calls where appropriate. BIO_ctrl is one of OpenSSL's ioctl-style patterns, where they jam many different function signatures into one type. BIO_ctrl returns long for the sake of other operations, but many of them are only allowed to return int. Bug: 516 Change-Id: Ieffad1da89c60a538f142b12bdebdb950efd5c6a Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/55454 Commit-Queue: David Benjamin <davidben@google.com> Reviewed-by: Bob Beck <bbe@google.com>
diff --git a/crypto/bio/bio.c b/crypto/bio/bio.c index e11f7b0..453e45a 100644 --- a/crypto/bio/bio.c +++ b/crypto/bio/bio.c
@@ -202,7 +202,7 @@ } int BIO_flush(BIO *bio) { - return BIO_ctrl(bio, BIO_CTRL_FLUSH, 0, NULL); + return (int)BIO_ctrl(bio, BIO_CTRL_FLUSH, 0, NULL); } long BIO_ctrl(BIO *bio, int cmd, long larg, void *parg) { @@ -235,11 +235,11 @@ } int BIO_reset(BIO *bio) { - return BIO_ctrl(bio, BIO_CTRL_RESET, 0, NULL); + return (int)BIO_ctrl(bio, BIO_CTRL_RESET, 0, NULL); } int BIO_eof(BIO *bio) { - return BIO_ctrl(bio, BIO_CTRL_EOF, 0, NULL); + return (int)BIO_ctrl(bio, BIO_CTRL_EOF, 0, NULL); } void BIO_set_flags(BIO *bio, int flags) { @@ -339,7 +339,7 @@ } int BIO_set_close(BIO *bio, int close_flag) { - return BIO_ctrl(bio, BIO_CTRL_SET_CLOSE, close_flag, NULL); + return (int)BIO_ctrl(bio, BIO_CTRL_SET_CLOSE, close_flag, NULL); } OPENSSL_EXPORT size_t BIO_number_read(const BIO *bio) {
diff --git a/crypto/bio/bio_mem.c b/crypto/bio/bio_mem.c index b2585c5..b483989 100644 --- a/crypto/bio/bio_mem.c +++ b/crypto/bio/bio_mem.c
@@ -312,13 +312,13 @@ } int BIO_get_mem_ptr(BIO *bio, BUF_MEM **out) { - return BIO_ctrl(bio, BIO_C_GET_BUF_MEM_PTR, 0, (char *) out); + return (int)BIO_ctrl(bio, BIO_C_GET_BUF_MEM_PTR, 0, (char *) out); } int BIO_set_mem_buf(BIO *bio, BUF_MEM *b, int take_ownership) { - return BIO_ctrl(bio, BIO_C_SET_BUF_MEM, take_ownership, (char *) b); + return (int)BIO_ctrl(bio, BIO_C_SET_BUF_MEM, take_ownership, (char *) b); } int BIO_set_mem_eof_return(BIO *bio, int eof_value) { - return BIO_ctrl(bio, BIO_C_SET_BUF_MEM_EOF_RETURN, eof_value, NULL); + return (int)BIO_ctrl(bio, BIO_C_SET_BUF_MEM_EOF_RETURN, eof_value, NULL); }
diff --git a/crypto/bio/connect.c b/crypto/bio/connect.c index 9b86e51..b95fb6b 100644 --- a/crypto/bio/connect.c +++ b/crypto/bio/connect.c
@@ -523,11 +523,11 @@ const BIO_METHOD *BIO_s_connect(void) { return &methods_connectp; } int BIO_set_conn_hostname(BIO *bio, const char *name) { - return BIO_ctrl(bio, BIO_C_SET_CONNECT, 0, (void*) name); + return (int)BIO_ctrl(bio, BIO_C_SET_CONNECT, 0, (void*) name); } int BIO_set_conn_port(BIO *bio, const char *port_str) { - return BIO_ctrl(bio, BIO_C_SET_CONNECT, 1, (void*) port_str); + return (int)BIO_ctrl(bio, BIO_C_SET_CONNECT, 1, (void*) port_str); } int BIO_set_conn_int_port(BIO *bio, const int *port) { @@ -537,11 +537,11 @@ } int BIO_set_nbio(BIO *bio, int on) { - return BIO_ctrl(bio, BIO_C_SET_NBIO, on, NULL); + return (int)BIO_ctrl(bio, BIO_C_SET_NBIO, on, NULL); } int BIO_do_connect(BIO *bio) { - return BIO_ctrl(bio, BIO_C_DO_STATE_MACHINE, 0, NULL); + return (int)BIO_ctrl(bio, BIO_C_DO_STATE_MACHINE, 0, NULL); } #endif // OPENSSL_TRUSTY
diff --git a/crypto/bio/fd.c b/crypto/bio/fd.c index 6c8d754..2980b7d 100644 --- a/crypto/bio/fd.c +++ b/crypto/bio/fd.c
@@ -265,11 +265,11 @@ const BIO_METHOD *BIO_s_fd(void) { return &methods_fdp; } int BIO_set_fd(BIO *bio, int fd, int close_flag) { - return BIO_int_ctrl(bio, BIO_C_SET_FD, close_flag, fd); + return (int)BIO_int_ctrl(bio, BIO_C_SET_FD, close_flag, fd); } int BIO_get_fd(BIO *bio, int *out_fd) { - return BIO_ctrl(bio, BIO_C_GET_FD, 0, (char *) out_fd); + return (int)BIO_ctrl(bio, BIO_C_GET_FD, 0, (char *) out_fd); } #endif // OPENSSL_TRUSTY
diff --git a/crypto/bio/file.c b/crypto/bio/file.c index 66278e5..0f2fffb 100644 --- a/crypto/bio/file.c +++ b/crypto/bio/file.c
@@ -281,31 +281,32 @@ int BIO_get_fp(BIO *bio, FILE **out_file) { - return BIO_ctrl(bio, BIO_C_GET_FILE_PTR, 0, (char*) out_file); + return (int)BIO_ctrl(bio, BIO_C_GET_FILE_PTR, 0, (char *)out_file); } int BIO_set_fp(BIO *bio, FILE *file, int close_flag) { - return BIO_ctrl(bio, BIO_C_SET_FILE_PTR, close_flag, (char *) file); + return (int)BIO_ctrl(bio, BIO_C_SET_FILE_PTR, close_flag, (char *)file); } int BIO_read_filename(BIO *bio, const char *filename) { - return BIO_ctrl(bio, BIO_C_SET_FILENAME, BIO_CLOSE | BIO_FP_READ, - (char *)filename); + return (int)BIO_ctrl(bio, BIO_C_SET_FILENAME, BIO_CLOSE | BIO_FP_READ, + (char *)filename); } int BIO_write_filename(BIO *bio, const char *filename) { - return BIO_ctrl(bio, BIO_C_SET_FILENAME, BIO_CLOSE | BIO_FP_WRITE, - (char *)filename); + return (int)BIO_ctrl(bio, BIO_C_SET_FILENAME, BIO_CLOSE | BIO_FP_WRITE, + (char *)filename); } int BIO_append_filename(BIO *bio, const char *filename) { - return BIO_ctrl(bio, BIO_C_SET_FILENAME, BIO_CLOSE | BIO_FP_APPEND, - (char *)filename); + return (int)BIO_ctrl(bio, BIO_C_SET_FILENAME, BIO_CLOSE | BIO_FP_APPEND, + (char *)filename); } int BIO_rw_filename(BIO *bio, const char *filename) { - return BIO_ctrl(bio, BIO_C_SET_FILENAME, - BIO_CLOSE | BIO_FP_READ | BIO_FP_WRITE, (char *)filename); + return (int)BIO_ctrl(bio, BIO_C_SET_FILENAME, + BIO_CLOSE | BIO_FP_READ | BIO_FP_WRITE, + (char *)filename); } long BIO_tell(BIO *bio) { return BIO_ctrl(bio, BIO_C_FILE_TELL, 0, NULL); }
diff --git a/crypto/bio/pair.c b/crypto/bio/pair.c index a1a9c9c..8f47568 100644 --- a/crypto/bio/pair.c +++ b/crypto/bio/pair.c
@@ -479,5 +479,5 @@ } int BIO_shutdown_wr(BIO *bio) { - return BIO_ctrl(bio, BIO_C_SHUTDOWN_WR, 0, NULL); + return (int)BIO_ctrl(bio, BIO_C_SHUTDOWN_WR, 0, NULL); }
diff --git a/ssl/test/async_bio.cc b/ssl/test/async_bio.cc index fd35176..89d66d7 100644 --- a/ssl/test/async_bio.cc +++ b/ssl/test/async_bio.cc
@@ -102,7 +102,7 @@ return 0; } BIO_clear_retry_flags(bio); - int ret = BIO_ctrl(bio->next_bio, cmd, num, ptr); + long ret = BIO_ctrl(bio->next_bio, cmd, num, ptr); BIO_copy_next_retry(bio); return ret; }
diff --git a/ssl/test/packeted_bio.cc b/ssl/test/packeted_bio.cc index 835dbfb..35dd8a8 100644 --- a/ssl/test/packeted_bio.cc +++ b/ssl/test/packeted_bio.cc
@@ -195,7 +195,7 @@ } BIO_clear_retry_flags(bio); - int ret = BIO_ctrl(bio->next_bio, cmd, num, ptr); + long ret = BIO_ctrl(bio->next_bio, cmd, num, ptr); BIO_copy_next_retry(bio); return ret; }