Hi,
this patch fixes another batch of coverity warnings.
Mostly harmless, but they are good practice.
--
Francesco
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [email protected]
# target_branch: file:///home/kinkie/squid/workspace/trunk/
# testament_sha1: 6f1e9150ed1c19b231a4b3370e38505aa7a207a4
# timestamp: 2015-07-21 16:57:33 +0200
# base_revision_id: [email protected]\
# lupfi0fh1z5t9gwg
#
# Begin patch
=== modified file 'helpers/log_daemon/file/log_file_daemon.cc'
--- helpers/log_daemon/file/log_file_daemon.cc 2015-01-13 07:25:36 +0000
+++ helpers/log_daemon/file/log_file_daemon.cc 2015-07-21 12:42:27 +0000
@@ -105,6 +105,9 @@
exit(1);
}
setbuf(stdout, NULL);
+ /* XXX stderr should not be closed, but in order to support squid must be
+ * able to collect and manage modules's stderr first.
+ */
close(2);
t = open(_PATH_DEVNULL, O_RDWR);
assert(t > -1);
@@ -119,7 +122,7 @@
/* try to detect the 32-bit file too big write error and rotate */
int err = ferror(fp);
clearerr(fp);
- if (err < 0) {
+ if (err != 0) {
/* file too big - recover by rotating the logs and starting a new one.
* out of device space - recover by rotating and hoping that rotation count drops a big one.
*/
=== modified file 'helpers/ntlm_auth/smb_lm/ntlm_smb_lm_auth.cc'
--- helpers/ntlm_auth/smb_lm/ntlm_smb_lm_auth.cc 2015-06-14 22:11:46 +0000
+++ helpers/ntlm_auth/smb_lm/ntlm_smb_lm_auth.cc 2015-07-21 12:53:18 +0000
@@ -477,7 +477,6 @@
ntlmhdr *fast_header;
char buf[NTLM_BLOB_BUFFER_SIZE];
char decoded[NTLM_BLOB_BUFFER_SIZE];
- const char *ch;
char *ch2, *cred = NULL;
if (fgets(buf, NTLM_BLOB_BUFFER_SIZE, stdin) == NULL) {
@@ -489,7 +488,6 @@
ch2 = (char*)memchr(buf, '\n', NTLM_BLOB_BUFFER_SIZE); /* safer against overrun than strchr */
if (ch2) {
*ch2 = '\0'; /* terminate the string at newline. */
- ch = ch2;
}
debug("ntlm authenticator. Got '%s' from Squid\n", buf);
@@ -628,7 +626,7 @@
}
if (memcmp(buf, "YR", 2) == 0) { /* refresh-request */
dc_disconnect();
- ch = obtain_challenge();
+ const char *ch = obtain_challenge();
/* Robert says we can afford to wait forever. I'll trust him on this
* one */
while (ch == NULL) {
=== modified file 'src/clients/FtpClient.cc'
--- src/clients/FtpClient.cc 2015-05-26 18:12:08 +0000
+++ src/clients/FtpClient.cc 2015-07-20 20:39:02 +0000
@@ -509,6 +509,8 @@
debugs(9, DBG_IMPORTANT, "WARNING: Server at " << ctrl.conn->remote << " sent unknown protocol negotiation hint: " << buf);
return sendPassive();
}
+ /* coverity[unreachable] */
+ /* safeguard against possible future bugs in above conditions */
failed(ERR_FTP_FAILURE, 0);
return false;
}
=== modified file 'src/clients/FtpGateway.cc'
--- src/clients/FtpGateway.cc 2015-07-19 13:23:01 +0000
+++ src/clients/FtpGateway.cc 2015-07-21 14:57:09 +0000
@@ -1802,7 +1802,12 @@
*/
if (fallback) {
int on = 1;
- setsockopt(ftpState->ctrl.conn->fd, SOL_SOCKET, SO_REUSEADDR, (char *) &on, sizeof(on));
+ errno = 0;
+ if (setsockopt(ftpState->ctrl.conn->fd, SOL_SOCKET, SO_REUSEADDR,
+ (char *) &on, sizeof(on)) == -1) {
+ // SO_REUSEADDR is only an optimization, no need to be verbose about error
+ debugs(9, 4, "setsockopt failed: " << xstrerror());
+ }
ftpState->ctrl.conn->flags |= COMM_REUSEADDR;
temp->flags |= COMM_REUSEADDR;
} else {
=== modified file 'src/debug.cc'
--- src/debug.cc 2015-07-12 17:42:49 +0000
+++ src/debug.cc 2015-07-20 09:44:12 +0000
@@ -487,10 +487,18 @@
if (Debug::rotateNumber > 0) {
snprintf(to, MAXPATHLEN, "%s.%d", debug_log_file, 0);
#if _SQUID_WINDOWS_
- remove
- (to);
+ errno = 0;
+ if (remove(to) == -1) {
+ const auto saved_errno = errno;
+ debugs(0, DBG_IMPORTANT, "removal of log file " << to << " failed: " << xstrerr(saved_errno));
+ }
#endif
- rename(debug_log_file, to);
+ errno = 0;
+ if (rename(debug_log_file, to) == -1) {
+ const auto saved_errno = errno;
+ debugs(0, DBG_IMPORTANT, "renaming file " << debug_log_file << " to "
+ << to << "failed: " << xstrerr(saved_errno));
+ }
}
/* Close and reopen the log. It may have been renamed "manually"
=== modified file 'src/fs/rock/RockSwapDir.cc'
--- src/fs/rock/RockSwapDir.cc 2015-01-13 07:25:36 +0000
+++ src/fs/rock/RockSwapDir.cc 2015-07-20 13:48:30 +0000
@@ -405,11 +405,18 @@
ConfigOption *
Rock::SwapDir::getOptionTree() const
{
- ConfigOptionVector *vector = dynamic_cast<ConfigOptionVector*>(::SwapDir::getOptionTree());
- assert(vector);
- vector->options.push_back(new ConfigOptionAdapter<SwapDir>(*const_cast<SwapDir *>(this), &SwapDir::parseSizeOption, &SwapDir::dumpSizeOption));
- vector->options.push_back(new ConfigOptionAdapter<SwapDir>(*const_cast<SwapDir *>(this), &SwapDir::parseTimeOption, &SwapDir::dumpTimeOption));
- vector->options.push_back(new ConfigOptionAdapter<SwapDir>(*const_cast<SwapDir *>(this), &SwapDir::parseRateOption, &SwapDir::dumpRateOption));
+ ConfigOption *copt = ::SwapDir::getOptionTree();
+ ConfigOptionVector *vector = dynamic_cast<ConfigOptionVector*>(copt);
+ if (vector) {
+ // if copt is actually a ConfigOptionVector
+ vector->options.push_back(new ConfigOptionAdapter<SwapDir>(*const_cast<SwapDir *>(this), &SwapDir::parseSizeOption, &SwapDir::dumpSizeOption));
+ vector->options.push_back(new ConfigOptionAdapter<SwapDir>(*const_cast<SwapDir *>(this), &SwapDir::parseTimeOption, &SwapDir::dumpTimeOption));
+ vector->options.push_back(new ConfigOptionAdapter<SwapDir>(*const_cast<SwapDir *>(this), &SwapDir::parseRateOption, &SwapDir::dumpRateOption));
+ } else {
+ // we don't know how to handle copt, as it's not a ConfigOptionVector.
+ // free it (and return nullptr)
+ delete copt;
+ }
return vector;
}
# Begin bundle
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
_______________________________________________
squid-dev mailing list
[email protected]
http://lists.squid-cache.org/listinfo/squid-dev