From: Amos Jeffries Date: Fri, 16 Nov 2012 06:45:56 +0000 (-0700) Subject: Fix various assertion with side effects X-Git-Tag: SQUID_3_4_0_1~497 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7f56277d75de5aa883cfd19dc25ef486f7259243;p=thirdparty%2Fsquid.git Fix various assertion with side effects When compiled with high optimization and assert disabled these operations would have disappeared. The side effects being: * Disk I/O failure protection disabled. Allowing loops in diskd write. * squidpurge error handling on command line parse gone. Causing segfault. * squidpurge 'I am Alive' ticker feature cease working. Detected by Coverity Scan. Issues 740299, 740300, 740301, 740302, 740303 --- diff --git a/src/DiskIO/DiskDaemon/DiskdIOStrategy.cc b/src/DiskIO/DiskDaemon/DiskdIOStrategy.cc index fcc0b45400..ff38146415 100644 --- a/src/DiskIO/DiskDaemon/DiskdIOStrategy.cc +++ b/src/DiskIO/DiskDaemon/DiskdIOStrategy.cc @@ -407,7 +407,8 @@ DiskdIOStrategy::SEND(diomsg *M, int mtype, int id, size_t size, off_t offset, s } else { debugs(79, DBG_IMPORTANT, "storeDiskdSend: msgsnd: " << xstrerror()); cbdataReferenceDone(M->callback_data); - assert(++send_errors < 100); + ++send_errors; + assert(send_errors < 100); if (shm_offset > -1) shm.put(shm_offset); } diff --git a/src/DiskIO/DiskThreads/DiskThreadsDiskFile.cc b/src/DiskIO/DiskThreads/DiskThreadsDiskFile.cc index c8603e7488..95bc9569fe 100644 --- a/src/DiskIO/DiskThreads/DiskThreadsDiskFile.cc +++ b/src/DiskIO/DiskThreads/DiskThreadsDiskFile.cc @@ -360,7 +360,8 @@ DiskThreadsDiskFile::writeDone(int rvfd, int errflag, size_t len, RefCount