From: Amos Jeffries Date: Mon, 15 Jan 2018 18:59:37 +0000 (+1300) Subject: Bug 3911: clang -fsanitize warnings (#125) X-Git-Tag: M-staged-PR71~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=43b6575c9823248357a1eca8a55db76fd6c848ca;p=thirdparty%2Fsquid.git Bug 3911: clang -fsanitize warnings (#125) Fixes warnings from clang when -fsanitize is used. Many of these are also part of the bug 4738 issues. error: private field 'callback' is not used [-Werror,-Wunused-private-field] error: private field 'cbdata' is not used [-Werror,-Wunused-private-field] error: private field 'IO' is not used [-Werror,-Wunused-private-field] error: variable 'wccp2_router_id_element' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration] We cannot set these warnings as default options yet because the STUB code intentionally does not use any private class members, so it would error on every unit test. * Convert Store::LocalSearch to C++ initialization * DiskThreadsDiskFile::IO is unused after setting by the constructor Also, take the opportunity to redo the construct using C++11 initialization * Remove currently unused wccp2_router_id_element This resolves clang warnings until the WCCP redesign is completed. --- diff --git a/src/DiskIO/DiskThreads/DiskThreadsDiskFile.cc b/src/DiskIO/DiskThreads/DiskThreadsDiskFile.cc index 0babf09934..c6b1ac5fa9 100644 --- a/src/DiskIO/DiskThreads/DiskThreadsDiskFile.cc +++ b/src/DiskIO/DiskThreads/DiskThreadsDiskFile.cc @@ -26,8 +26,7 @@ CBDATA_CLASS_INIT(DiskThreadsDiskFile); -DiskThreadsDiskFile::DiskThreadsDiskFile(char const *aPath, DiskThreadsIOStrategy *anIO):fd(-1), errorOccured (false), IO(anIO), - inProgressIOs (0) +DiskThreadsDiskFile::DiskThreadsDiskFile(char const *aPath) { assert(aPath); debugs(79, 3, "UFSFile::UFSFile: " << aPath); diff --git a/src/DiskIO/DiskThreads/DiskThreadsDiskFile.h b/src/DiskIO/DiskThreads/DiskThreadsDiskFile.h index 2d47c04636..8b4b9cfc09 100644 --- a/src/DiskIO/DiskThreads/DiskThreadsDiskFile.h +++ b/src/DiskIO/DiskThreads/DiskThreadsDiskFile.h @@ -21,7 +21,7 @@ class DiskThreadsDiskFile : public DiskFile CBDATA_CLASS(DiskThreadsDiskFile); public: - DiskThreadsDiskFile(char const *path, DiskThreadsIOStrategy *); + DiskThreadsDiskFile(char const *path); ~DiskThreadsDiskFile(); virtual void open(int flags, mode_t mode, RefCount callback); virtual void create(int flags, mode_t mode, RefCount callback); @@ -51,11 +51,10 @@ private: static DWCB WriteDone; #endif - int fd; - bool errorOccured; - char const *path_; - DiskThreadsIOStrategy *IO; - size_t inProgressIOs; + int fd = -1; + bool errorOccured = false; + char const *path_ = nullptr; + size_t inProgressIOs = 0; static AIOCB OpenDone; void openDone(int fd, const char *buf, int aio_return, int aio_errno); RefCount ioRequestor; diff --git a/src/DiskIO/DiskThreads/DiskThreadsIOStrategy.cc b/src/DiskIO/DiskThreads/DiskThreadsIOStrategy.cc index ec1d9869c5..1bb5bd9981 100644 --- a/src/DiskIO/DiskThreads/DiskThreadsIOStrategy.cc +++ b/src/DiskIO/DiskThreads/DiskThreadsIOStrategy.cc @@ -225,7 +225,7 @@ DiskThreadsIOStrategy::newFile (char const *path) return NULL; } - return new DiskThreadsDiskFile (path, this); + return new DiskThreadsDiskFile(path); } bool diff --git a/src/store/LocalSearch.cc b/src/store/LocalSearch.cc index 1ef615a01b..f7a1b0bf72 100644 --- a/src/store/LocalSearch.cc +++ b/src/store/LocalSearch.cc @@ -22,8 +22,6 @@ class LocalSearch : public StoreSearch CBDATA_CLASS(LocalSearch); public: - LocalSearch(); - /* StoreSearch API */ virtual void next(void (callback)(void *cbdata), void *cbdata) override; virtual bool next() override; @@ -33,10 +31,8 @@ public: private: void copyBucket(); - void (*callback)(void *cbdata); - void *cbdata; - bool _done; - int bucket; + bool _done = false; + int bucket = 0; std::vector entries; }; @@ -50,13 +46,6 @@ Store::NewLocalSearch() return new LocalSearch; } -Store::LocalSearch::LocalSearch() : - callback(NULL), - cbdata(NULL), - _done(false), - bucket(0) -{} - void Store::LocalSearch::next(void (aCallback)(void *), void *aCallbackData) { diff --git a/src/wccp2.cc b/src/wccp2.cc index 6255a99096..f17f728feb 100644 --- a/src/wccp2.cc +++ b/src/wccp2.cc @@ -276,7 +276,8 @@ struct wccp2_router_id_element_t { uint32_t received_id; }; -static struct wccp2_router_id_element_t wccp2_router_id_element; +// unused (for now) +// static struct wccp2_router_id_element_t wccp2_router_id_element; /** \interface WCCPv2_Protocol * Sect 5.6.9 Capabilities Info Component @@ -807,7 +808,7 @@ wccp2Init(void) wccp2_cache_view_header.cache_view_type = htons(WCCP2_WC_VIEW_INFO); wccp2_cache_view_header.cache_view_length = htons(sizeof(wccp2_cache_view_header) - 4 + - sizeof(wccp2_cache_view_info) + (wccp2_numrouters * sizeof(wccp2_router_id_element))); + sizeof(wccp2_cache_view_info) + (wccp2_numrouters * sizeof(wccp2_router_id_element_t))); wccp2_cache_view_header.cache_view_version = htonl(1);