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;
}