From 7115ba0c9fb7a8d117f1b71479299dafca5fe11e Mon Sep 17 00:00:00 2001 From: Adrien Beraud <adrien.beraud@savoirfairelinux.com> Date: Wed, 11 Jan 2023 10:40:03 -0500 Subject: [PATCH] misc: fix various warnings Change-Id: I3fde5423378ae952bf53e2b81b41d07f03e5ada3 --- src/connectivity/ip_utils.cpp | 2 +- src/connectivity/ip_utils.h | 7 ------- src/fileutils.cpp | 34 ++++++++++++++-------------------- src/media/audio/audiolayer.cpp | 2 +- src/media/media_encoder.cpp | 2 ++ src/sip/sipaccount_config.cpp | 21 --------------------- src/sip/sipvoiplink.cpp | 2 +- 7 files changed, 19 insertions(+), 51 deletions(-) diff --git a/src/connectivity/ip_utils.cpp b/src/connectivity/ip_utils.cpp index 217472bc30..83a48333e5 100644 --- a/src/connectivity/ip_utils.cpp +++ b/src/connectivity/ip_utils.cpp @@ -149,7 +149,7 @@ ip_utils::getHostName(char* out, size_t out_len) i += sizeof *pifReq; // See if this is the sort of interface we want to deal with. memset(ifReq.ifr_name, 0, sizeof(ifReq.ifr_name)); - strncpy(ifReq.ifr_name, pifReq->ifr_name, sizeof(ifReq.ifr_name) - 1); + strncpy(ifReq.ifr_name, pifReq->ifr_name, sizeof(ifReq.ifr_name)); ioctl(localSock, SIOCGIFFLAGS, &ifReq); // Skip loopback, point-to-point and down interfaces. // except don't skip down interfaces if we're trying to get diff --git a/src/connectivity/ip_utils.h b/src/connectivity/ip_utils.h index 8e6649e5f9..3023ac1672 100644 --- a/src/connectivity/ip_utils.h +++ b/src/connectivity/ip_utils.h @@ -179,13 +179,6 @@ public: inline operator const sockaddr*() const { return reinterpret_cast<const sockaddr*>(&addr); } - inline operator sockaddr_storage() - { - sockaddr_storage ss; - memcpy(&ss, &addr, getLength()); - return ss; - } - inline const pj_sockaddr* pjPtr() const { return &addr; } inline pj_sockaddr* pjPtr() { return &addr; } diff --git a/src/fileutils.cpp b/src/fileutils.cpp index e3a61b6334..948100a9a3 100644 --- a/src/fileutils.cpp +++ b/src/fileutils.cpp @@ -79,6 +79,7 @@ #include <iostream> #include <stdexcept> #include <limits> +#include <array> #include <cstdlib> #include <cstring> @@ -931,32 +932,25 @@ eraseFile_posix(const std::string& path, bool dosync) return false; } - uintmax_t size_blocks = st.st_size / ERASE_BLOCK; - if (st.st_size % ERASE_BLOCK) - size_blocks++; - - char* buffer; - try { - buffer = new char[ERASE_BLOCK]; - } catch (std::bad_alloc& ba) { - JAMI_WARN("Can not allocate buffer for erasing %s.", path.c_str()); - close(fd); - return false; - } - memset(buffer, 0x00, ERASE_BLOCK); - - for (uintmax_t i = 0; i < size_blocks; i++) { - lseek(fd, i * ERASE_BLOCK, SEEK_SET); - write(fd, buffer, ERASE_BLOCK); + lseek(fd, 0, SEEK_SET); + + std::array<char, ERASE_BLOCK> buffer; + buffer.fill(0); + decltype(st.st_size) written(0); + while (written < st.st_size) { + auto ret = write(fd, buffer.data(), buffer.size()); + if (ret < 0) { + JAMI_WARNING("Error while overriding file with zeros."); + break; + } else + written += ret; } - delete[] buffer; - if (dosync) fsync(fd); close(fd); - return true; + return written >= st.st_size; } #endif diff --git a/src/media/audio/audiolayer.cpp b/src/media/audio/audiolayer.cpp index 09d9c1a1c5..7d9b1ec6f6 100644 --- a/src/media/audio/audiolayer.cpp +++ b/src/media/audio/audiolayer.cpp @@ -47,6 +47,7 @@ AudioLayer::AudioLayer(const AudioPreference& pref) , isPlaybackMuted_(pref.getPlaybackMuted()) , captureGain_(pref.getVolumemic()) , playbackGain_(pref.getVolumespkr()) + , pref_(pref) , mainRingBuffer_( Manager::instance().getRingBufferPool().getRingBuffer(RingBufferPool::DEFAULT_ID)) , audioFormat_(Manager::instance().getRingBufferPool().getInternalAudioFormat()) @@ -54,7 +55,6 @@ AudioLayer::AudioLayer(const AudioPreference& pref) , urgentRingBuffer_("urgentRingBuffer_id", SIZEBUF, audioFormat_) , resampler_(new Resampler) , lastNotificationTime_() - , pref_(pref) { urgentRingBuffer_.createReadOffset(RingBufferPool::DEFAULT_ID); diff --git a/src/media/media_encoder.cpp b/src/media/media_encoder.cpp index b3ab0bb8c3..1f67dad622 100644 --- a/src/media/media_encoder.cpp +++ b/src/media/media_encoder.cpp @@ -243,6 +243,8 @@ MediaEncoder::initStream(const SystemCodecInfo& systemCodecInfo, AVBufferRef* fr mediaType = AVMEDIA_TYPE_VIDEO; else if (systemCodecInfo.mediaType == MEDIA_AUDIO) mediaType = AVMEDIA_TYPE_AUDIO; + else + throw MediaEncoderException("Unsuported media type"); AVStream* stream {nullptr}; diff --git a/src/sip/sipaccount_config.cpp b/src/sip/sipaccount_config.cpp index 56b48d9945..613a9c0f3b 100644 --- a/src/sip/sipaccount_config.cpp +++ b/src/sip/sipaccount_config.cpp @@ -76,16 +76,6 @@ static constexpr unsigned MIN_REGISTRATION_TIME = 60; // second using yaml_utils::parseValueOptional; using yaml_utils::parseVectorMap; -static void -addRangeToDetails(std::map<std::string, std::string>& a, - const char* minKey, - const char* maxKey, - const std::pair<uint16_t, uint16_t>& range) -{ - a.emplace(minKey, std::to_string(range.first)); - a.emplace(maxKey, std::to_string(range.second)); -} - void SipAccountConfig::serialize(YAML::Emitter& out) const { @@ -256,17 +246,6 @@ SipAccountConfig::fromMap(const std::map<std::string, std::string>& details) parseBool(details, Conf::CONFIG_PRESENCE_ENABLED, presenceEnabled); parseString(details, Conf::CONFIG_ACCOUNT_DTMF_TYPE, dtmfType); - int tmpMin = -1; - parseInt(details, Conf::CONFIG_ACCOUNT_AUDIO_PORT_MIN, tmpMin); - int tmpMax = -1; - parseInt(details, Conf::CONFIG_ACCOUNT_AUDIO_PORT_MAX, tmpMax); - updateRange(tmpMin, tmpMax, audioPortRange); - tmpMin = -1; - parseInt(details, Conf::CONFIG_ACCOUNT_VIDEO_PORT_MIN, tmpMin); - tmpMax = -1; - parseInt(details, Conf::CONFIG_ACCOUNT_VIDEO_PORT_MAX, tmpMax); - updateRange(tmpMin, tmpMax, videoPortRange); - // srtp settings parseBool(details, Conf::CONFIG_SRTP_RTP_FALLBACK, srtpFallback); auto iter = details.find(Conf::CONFIG_SRTP_KEY_EXCHANGE); diff --git a/src/sip/sipvoiplink.cpp b/src/sip/sipvoiplink.cpp index a4fb90fc05..af34fad755 100644 --- a/src/sip/sipvoiplink.cpp +++ b/src/sip/sipvoiplink.cpp @@ -1665,7 +1665,7 @@ SIPVoIPLink::findLocalAddressFromSTUN(pjsip_transport* transport, case PJ_SUCCESS: port = pj_sockaddr_in_get_port(&mapped_addr); - addr = IpAddr((const pj_sockaddr&) mapped_addr).toString(); + addr = IpAddr((const sockaddr_in&) mapped_addr).toString(); JAMI_DBG("STUN server %.*s replied '%s:%u'", (int) stunServerName->slen, stunServerName->ptr, -- GitLab