Coverity Scan latest checks are reporting that the ttl member of Ipc::MemMap is being left uninitialized.
It sounds like something which would lead to major bugs. Except that it turns out, AFAICS, that this ttl member is never actually being used. Anyone have a reason not to simply drop it from the code? Amos
=== modified file 'src/ipc/MemMap.h' --- src/ipc/MemMap.h 2016-02-23 08:51:22 +0000 +++ src/ipc/MemMap.h 2016-08-08 13:58:49 +0000 @@ -107,41 +107,40 @@ /// close slot after reading, decrements read level void closeForReading(const sfileno fileno); bool full() const; ///< there are no empty slots left bool valid(const int n) const; ///< whether n is a valid slot coordinate int entryCount() const; ///< number of used slots int entryLimit() const; ///< maximum number of slots that can be used /// adds approximate current stats to the supplied ones void updateStats(ReadWriteLockStats &stats) const; /// The cleaner MemMapCleaner::noteFreeMapSlot method called when a /// readable entry is freed. MemMapCleaner *cleaner; protected: static Owner *Init(const char *const path, const int limit, const size_t extrasSize); const SBuf path; ///< cache_dir path, used for logging Mem::Pointer<Shared> shared; - int ttl; private: int slotIndexByKey(const cache_key *const key) const; Slot &slotByKey(const cache_key *const key); Slot *openForReading(Slot &s); void abortWriting(const sfileno fileno); void freeIfNeeded(Slot &s); void freeLocked(Slot &s, bool keepLocked); }; /// API for adjusting external state when dirty map slot is being freed class MemMapCleaner { public: virtual ~MemMapCleaner() {} /// adjust slot-linked state before a locked Readable slot is erased virtual void noteFreeMapSlot(const sfileno slotId) = 0; };
_______________________________________________ squid-dev mailing list squid-dev@lists.squid-cache.org http://lists.squid-cache.org/listinfo/squid-dev