diff options
author | Adam Langley <agl@google.com> | 2015-06-03 00:16:44 +0300 |
---|---|---|
committer | Adam Langley <agl@google.com> | 2015-10-28 01:48:00 +0300 |
commit | 96c2a2817108afcbb338f9113b3d2295b0e7f02e (patch) | |
tree | 04d2fb58aeee887e6c92636773cffec1cebbc914 /crypto/bio | |
parent | 0dc2a8aee26d8223005fe9b5bf6c86d63f4a15f9 (diff) |
Fix all sign/unsigned warnings with Clang and GCC.
Change-Id: If2a83698236f7b0dcd46701ccd257a85463d6ce5
Reviewed-on: https://boringssl-review.googlesource.com/4992
Reviewed-by: Adam Langley <agl@google.com>
Diffstat (limited to 'crypto/bio')
-rw-r--r-- | crypto/bio/bio.c | 10 | ||||
-rw-r--r-- | crypto/bio/bio_mem.c | 2 | ||||
-rw-r--r-- | crypto/bio/printf.c | 6 |
3 files changed, 12 insertions, 6 deletions
diff --git a/crypto/bio/bio.c b/crypto/bio/bio.c index 4bc98ba3..7a1a9e3b 100644 --- a/crypto/bio/bio.c +++ b/crypto/bio/bio.c @@ -529,7 +529,7 @@ int BIO_read_asn1(BIO *bio, uint8_t **out, size_t *out_len, size_t max_len) { uint8_t header[6]; static const size_t kInitialHeaderLen = 2; - if (BIO_read(bio, header, kInitialHeaderLen) != kInitialHeaderLen) { + if (BIO_read(bio, header, kInitialHeaderLen) != (int) kInitialHeaderLen) { return 0; } @@ -559,7 +559,8 @@ int BIO_read_asn1(BIO *bio, uint8_t **out, size_t *out_len, size_t max_len) { return 0; } - if (BIO_read(bio, header + kInitialHeaderLen, num_bytes) != num_bytes) { + if (BIO_read(bio, header + kInitialHeaderLen, num_bytes) != + (int)num_bytes) { return 0; } header_len = kInitialHeaderLen + num_bytes; @@ -585,7 +586,8 @@ int BIO_read_asn1(BIO *bio, uint8_t **out, size_t *out_len, size_t max_len) { } if (len + header_len < len || - len + header_len > max_len) { + len + header_len > max_len || + len > INT_MAX) { return 0; } len += header_len; @@ -597,7 +599,7 @@ int BIO_read_asn1(BIO *bio, uint8_t **out, size_t *out_len, size_t max_len) { } memcpy(*out, header, header_len); if (BIO_read(bio, (*out) + header_len, len - header_len) != - len - header_len) { + (int) (len - header_len)) { OPENSSL_free(*out); return 0; } diff --git a/crypto/bio/bio_mem.c b/crypto/bio/bio_mem.c index ef56111b..6864f6f1 100644 --- a/crypto/bio/bio_mem.c +++ b/crypto/bio/bio_mem.c @@ -176,7 +176,7 @@ static int mem_write(BIO *bio, const char *in, int inl) { if (INT_MAX - blen < inl) { goto err; } - if (BUF_MEM_grow_clean(b, blen + inl) != (blen + inl)) { + if (BUF_MEM_grow_clean(b, blen + inl) != ((size_t) blen) + inl) { goto err; } memcpy(&b->data[blen], in, inl); diff --git a/crypto/bio/printf.c b/crypto/bio/printf.c index 2f5ae4a3..3709fcb2 100644 --- a/crypto/bio/printf.c +++ b/crypto/bio/printf.c @@ -87,7 +87,11 @@ int BIO_printf(BIO *bio, const char *format, ...) { } #endif - if (out_len >= sizeof(buf)) { + if (out_len < 0) { + return -1; + } + + if ((size_t) out_len >= sizeof(buf)) { const int requested_len = out_len; /* The output was truncated. Note that vsnprintf's return value * does not include a trailing NUL, but the buffer must be sized |