From 2e5db823efd47253e46ac1d305ccf9c83a96b222 Mon Sep 17 00:00:00 2001 From: Tim Wojtulewicz Date: Mon, 21 Jul 2025 15:25:48 -0700 Subject: [PATCH] Fix some integer overflow issues reported by Coverity --- src/IPAddr.cc | 4 ++-- src/util.cc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/IPAddr.cc b/src/IPAddr.cc index bd7f2a09b3..83265c3161 100644 --- a/src/IPAddr.cc +++ b/src/IPAddr.cc @@ -162,7 +162,7 @@ void IPAddr::Mask(int top_bits_to_keep) { if ( res.quot < 4 ) mask_bits[res.quot] = htonl(mask_bits[res.quot] & ~bit_mask32(32 - res.rem)); - for ( unsigned int i = res.quot + 1; i < 4; ++i ) + for ( size_t i = res.quot + 1; i < 4; ++i ) mask_bits[i] = 0; uint32_t* p = reinterpret_cast(in6.s6_addr); @@ -183,7 +183,7 @@ void IPAddr::ReverseMask(int top_bits_to_chop) { if ( res.quot < 4 ) mask_bits[res.quot] = htonl(bit_mask32(32 - res.rem)); - for ( unsigned int i = res.quot + 1; i < 4; ++i ) + for ( size_t i = res.quot + 1; i < 4; ++i ) mask_bits[i] = 0xffffffff; uint32_t* p = reinterpret_cast(in6.s6_addr); diff --git a/src/util.cc b/src/util.cc index 92c48bd184..3d38542f0b 100644 --- a/src/util.cc +++ b/src/util.cc @@ -832,7 +832,7 @@ void set_processing_status(const char* status, const char* reason) { auto write_str = [](int fd, const char* s) { int len = strlen(s); while ( len ) { - int n = write(fd, s, len); + ssize_t n = write(fd, s, len); if ( n < 0 && errno != EINTR && errno != EAGAIN ) // Ignore errors, as they're too difficult to @@ -1882,7 +1882,7 @@ uint64_t calculate_unique_id(size_t pool) { bool safe_write(int fd, const char* data, int len) { while ( len > 0 ) { - int n = write(fd, data, len); + ssize_t n = write(fd, data, len); if ( n < 0 ) { if ( errno == EINTR )