<div dir="ltr">Pushed the fix to Release_3.1. </div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 12, 2019 at 10:13 AM <<a href="mailto:pooja@multicorewareinc.com" target="_blank">pooja@multicorewareinc.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"># HG changeset patch<br>
# User Pooja Venkatesan <<a href="mailto:pooja@multicorewareinc.com" target="_blank">pooja@multicorewareinc.com</a>><br>
# Date 1565673681 -19800<br>
#      Tue Aug 13 10:51:21 2019 +0530<br>
# Node ID 1047791ed56e29e6fc1aa2e210998a67ea2409d9<br>
# Parent  a092e82e6acfe7afe6a9a381e9ef52323e4e2467<br>
Fix issue #508 - Crash in case of encoder fail condition.<br>
<br>
This patch also includes:<br>
Free memory for zone param.<br>
<br>
diff -r a092e82e6acf -r 1047791ed56e source/encoder/api.cpp<br>
--- a/source/encoder/api.cpp    Thu Aug 01 22:55:21 2019 +0200<br>
+++ b/source/encoder/api.cpp    Tue Aug 13 10:51:21 2019 +0530<br>
@@ -96,7 +96,12 @@<br>
     x265_param* param = PARAM_NS::x265_param_alloc();<br>
     x265_param* latestParam = PARAM_NS::x265_param_alloc();<br>
     x265_param* zoneParam = PARAM_NS::x265_param_alloc();<br>
-    if (!param || !latestParam)<br>
+<br>
+    if(param) PARAM_NS::x265_param_default(param);<br>
+    if(latestParam) PARAM_NS::x265_param_default(latestParam);<br>
+    if(zoneParam) PARAM_NS::x265_param_default(zoneParam);<br>
+<br>
+    if (!param || !latestParam || !zoneParam)<br>
         goto fail;<br>
     if (p->rc.zoneCount || p->rc.zonefileCount)<br>
     {<br>
@@ -106,6 +111,8 @@<br>
     }<br>
<br>
     x265_copy_params(param, p);<br>
+    x265_copy_params(latestParam, p);<br>
+    x265_copy_params(zoneParam, p);<br>
     x265_log(param, X265_LOG_INFO, "HEVC encoder version %s\n", PFX(version_str));<br>
     x265_log(param, X265_LOG_INFO, "build info %s\n", PFX(build_info_str));<br>
<br>
@@ -212,6 +219,7 @@<br>
     delete encoder;<br>
     PARAM_NS::x265_param_free(param);<br>
     PARAM_NS::x265_param_free(latestParam);<br>
+    PARAM_NS::x265_param_free(zoneParam);<br>
     return NULL;<br>
 }<br>
<br>
@@ -944,11 +952,11 @@<br>
<br>
 void x265_zone_free(x265_param *param)<br>
 {<br>
-    if (param->rc.zonefileCount) {<br>
+    if (param && param->rc.zonefileCount) {<br>
         for (int i = 0; i < param->rc.zonefileCount; i++)<br>
             x265_free(param->rc.zones[i].zoneParam);<br>
     }<br>
-    if (param->rc.zoneCount || param->rc.zonefileCount)<br>
+    if (param && (param->rc.zoneCount || param->rc.zonefileCount))<br>
         x265_free(param->rc.zones);<br>
 }<br>
<br>
_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org" target="_blank">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_3030355801656971790gmail_signature"><div dir="ltr"><font face="georgia, serif">Regards,</font><div><font face="georgia, serif">Aruna</font></div></div></div>