]> granicus.if.org Git - transmission/commitdiff
Fix some issues reported by Coverity
authorMike Gelfand <mikedld@mikedld.com>
Sat, 20 May 2017 20:31:56 +0000 (23:31 +0300)
committerMike Gelfand <mikedld@mikedld.com>
Sat, 20 May 2017 20:31:56 +0000 (23:31 +0300)
libtransmission/fdlimit.c
libtransmission/peer-mgr.c
libtransmission/quark.c
libtransmission/session.h
qt/TorrentFilter.cc

index 77d56fff7992b14bc1646196e01ff3643eddbbea..fc656e59118e5c0fa556ab09b2bd1e0fb3c97b09 100644 (file)
@@ -568,13 +568,23 @@ tr_socket_t tr_fdSocketCreate(tr_session* session, int domain, int type)
 
         if (!buf_logged)
         {
-            int i;
-            socklen_t size = sizeof(int);
+            int i = 0;
+            socklen_t size = sizeof(i);
+
+            if (getsockopt(s, SOL_SOCKET, SO_SNDBUF, (void*)&i, &size) != -1)
+            {
+                tr_logAddDebug("SO_SNDBUF size is %d", i);
+            }
+
+            i = 0;
+            size = sizeof(i);
+
+            if (getsockopt(s, SOL_SOCKET, SO_RCVBUF, (void*)&i, &size) != -1)
+            {
+                tr_logAddDebug("SO_RCVBUF size is %d", i);
+            }
+
             buf_logged = true;
-            getsockopt(s, SOL_SOCKET, SO_SNDBUF, (void*)&i, &size);
-            tr_logAddDebug("SO_SNDBUF size is %d", i);
-            getsockopt(s, SOL_SOCKET, SO_RCVBUF, (void*)&i, &size);
-            tr_logAddDebug("SO_RCVBUF size is %d", i);
         }
     }
 
index 44926fe06dcf1f8617bc7e45171f8b0af8eda4ef..73eadb0ef3f29b3d2825c340c4841281985df673 100644 (file)
@@ -1546,6 +1546,9 @@ static void refillUpkeep(evutil_socket_t foo UNUSED, short bar UNUSED, void* vmg
 
                 if (msgs != NULL && request->sentAt <= too_old && !tr_peerMsgsIsReadingBlock(msgs, request->block))
                 {
+                    assert(cancel != NULL);
+                    assert(cancelCount < cancel_buflen);
+
                     cancel[cancelCount++] = *request;
                 }
                 else
index dbff574f689485f4f5a70ae9d995cfc6d8827cf9..90e35d06f0a7855b4f4ec3d71b9a83c0f340b061 100644 (file)
@@ -479,9 +479,10 @@ tr_quark tr_quark_new(void const* str, size_t len)
 
     if (str == NULL)
     {
-        len = 0;
+        goto finish;
     }
-    else if (len == TR_BAD_SIZE)
+
+    if (len == TR_BAD_SIZE)
     {
         len = strlen(str);
     }
@@ -491,6 +492,7 @@ tr_quark tr_quark_new(void const* str, size_t len)
         ret = append_new_quark(str, len);
     }
 
+finish:
     return ret;
 }
 
index f73d3af304ab0cc4126c3ad8ed9b1d39d4dff4e6..df548a8bed4c19e55df1e18e382dc877f8c80061 100644 (file)
@@ -300,7 +300,7 @@ static inline double toSpeedKBps(unsigned int Bps)
 
 static inline uint64_t toMemBytes(unsigned int MB)
 {
-    uint64_t B = tr_mem_K * tr_mem_K;
+    uint64_t B = (uint64_t)tr_mem_K * tr_mem_K;
     B *= MB;
     return B;
 }
index 5238ac7f20dc446aa027048478e5c4fe4dbfb483..5a5a4b11e707332e9b75373790ed2e1aa5e24e9f 100644 (file)
@@ -48,6 +48,8 @@ void TorrentFilter::refreshPref(int key)
         /* force a re-sort */
         sort(0, !myPrefs.getBool(Prefs::SORT_REVERSED) ? Qt::AscendingOrder : Qt::DescendingOrder);
 
+    // fall through
+
     case Prefs::SORT_MODE:
     case Prefs::SORT_REVERSED:
         sort(0, myPrefs.getBool(Prefs::SORT_REVERSED) ? Qt::AscendingOrder : Qt::DescendingOrder);