Fixed codition with side effects
authorakallabeth <akallabeth@posteo.net>
Mon, 25 May 2020 12:04:17 +0000 (14:04 +0200)
committerArmin Novak <armin.novak@thincast.com>
Mon, 22 Jun 2020 10:12:21 +0000 (12:12 +0200)
(cherry picked from commit 1a02af5a12b400fcb6ad121a0a71e4440c2e9152)

channels/drdynvc/client/drdynvc_main.c

index 4b9799e..507305f 100644 (file)
@@ -580,10 +580,15 @@ static UINT dvcman_open_channel(drdynvcPlugin* drdynvc, IWTSVirtualChannelManage
        {
                pCallback = channel->channel_callback;
 
-               if ((pCallback->OnOpen) && (error = pCallback->OnOpen(pCallback)))
+               if (pCallback->OnOpen)
                {
-                       WLog_Print(drdynvc->log, WLOG_ERROR, "OnOpen failed with error %" PRIu32 "!", error);
-                       return error;
+                       error = pCallback->OnOpen(pCallback);
+                       if (error)
+                       {
+                               WLog_Print(drdynvc->log, WLOG_ERROR, "OnOpen failed with error %" PRIu32 "!",
+                                          error);
+                               return error;
+                       }
                }
 
                WLog_Print(drdynvc->log, WLOG_DEBUG, "open_channel: ChannelId %" PRIu32 "", ChannelId);