Blame SOURCES/0011-channel_receive_window_adjust-store-windows-size-alw.patch

6fd6a0
From baadc811a703b9a6dec655c7afb3218d8cff51fa Mon Sep 17 00:00:00 2001
6fd6a0
From: Daniel Stenberg <daniel@haxx.se>
6fd6a0
Date: Sun, 16 Mar 2014 20:02:37 +0100
6fd6a0
Subject: [PATCH 11/11] channel_receive_window_adjust: store windows size always
6fd6a0
6fd6a0
Avoid it sometimes returning without storing it, leaving calling
6fd6a0
functions with unknown content!
6fd6a0
6fd6a0
Detected by clang-analyzer
6fd6a0
6fd6a0
[upstream commit fcb601da7b37c6e9bbcd264199597e2ddb7bc347]
6fd6a0
6fd6a0
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
6fd6a0
---
6fd6a0
 src/channel.c |   11 ++++-------
6fd6a0
 1 files changed, 4 insertions(+), 7 deletions(-)
6fd6a0
6fd6a0
diff --git a/src/channel.c b/src/channel.c
6fd6a0
index 36c75d2..1d074df 100644
6fd6a0
--- a/src/channel.c
6fd6a0
+++ b/src/channel.c
6fd6a0
@@ -1,6 +1,6 @@
6fd6a0
 /* Copyright (c) 2004-2007 Sara Golemon <sarag@libssh2.org>
6fd6a0
  * Copyright (c) 2005 Mikhail Gusarov <dottedmag@dottedmag.net>
6fd6a0
- * Copyright (c) 2008-2011 by Daniel Stenberg
6fd6a0
+ * Copyright (c) 2008-2014 by Daniel Stenberg
6fd6a0
  *
6fd6a0
  * All rights reserved.
6fd6a0
  *
6fd6a0
@@ -1544,6 +1544,9 @@ _libssh2_channel_receive_window_adjust(LIBSSH2_CHANNEL * channel,
6fd6a0
 {
6fd6a0
     int rc;
6fd6a0
 
6fd6a0
+    if(store)
6fd6a0
+        *store = channel->remote.window_size;
6fd6a0
+
6fd6a0
     if (channel->adjust_state == libssh2_NB_state_idle) {
6fd6a0
         if (!force
6fd6a0
             && (adjustment + channel->adjust_queue <
6fd6a0
@@ -1553,14 +1556,10 @@ _libssh2_channel_receive_window_adjust(LIBSSH2_CHANNEL * channel,
6fd6a0
                            "for channel %lu/%lu",
6fd6a0
                            adjustment, channel->local.id, channel->remote.id);
6fd6a0
             channel->adjust_queue += adjustment;
6fd6a0
-            if(store)
6fd6a0
-                *store = channel->remote.window_size;
6fd6a0
             return 0;
6fd6a0
         }
6fd6a0
 
6fd6a0
         if (!adjustment && !channel->adjust_queue) {
6fd6a0
-            if(store)
6fd6a0
-                *store = channel->remote.window_size;
6fd6a0
             return 0;
6fd6a0
         }
6fd6a0
 
6fd6a0
@@ -1598,8 +1597,6 @@ _libssh2_channel_receive_window_adjust(LIBSSH2_CHANNEL * channel,
6fd6a0
 
6fd6a0
     channel->adjust_state = libssh2_NB_state_idle;
6fd6a0
 
6fd6a0
-    if(store)
6fd6a0
-        *store = channel->remote.window_size;
6fd6a0
     return 0;
6fd6a0
 }
6fd6a0
 
6fd6a0
-- 
6fd6a0
1.7.1
6fd6a0