Browse Source

librtmp: Fix memory leak

A leak was introduced by commit 1682d77 (July 11 2015).
This is a fix.
pkviet 7 năm trước cách đây
mục cha
commit
f1f49bc197
1 tập tin đã thay đổi với 6 bổ sung6 xóa
  1. 6 6
      plugins/obs-outputs/librtmp/rtmp.c

+ 6 - 6
plugins/obs-outputs/librtmp/rtmp.c

@@ -4288,14 +4288,14 @@ RTMP_Close(RTMP *r)
     r->m_customSendParam = NULL;
 
 #if defined(CRYPTO) || defined(USE_ONLY_MD5)
-    if (!(r->Link.protocol & RTMP_FEATURE_WRITE) || (r->Link.pFlags & RTMP_PUB_CLEAN))
+    for (int idx = 0; idx < r->Link.nStreams; idx++)
     {
-        for (int idx = 0; idx < r->Link.nStreams; idx++)
-        {
-            free(r->Link.streams[idx].playpath.av_val);
-            r->Link.streams[idx].playpath.av_val = NULL;
-        }
+        free(r->Link.streams[idx].playpath.av_val);
+        r->Link.streams[idx].playpath.av_val = NULL;
+    }
 
+    if (!(r->Link.protocol & RTMP_FEATURE_WRITE) || (r->Link.pFlags & RTMP_PUB_CLEAN))
+    {
         r->Link.curStreamIdx = 0;
         r->Link.nStreams = 0;
     }