Attached is the Freelancer patch so if Andrew and Andrea ould test (and Andrew look at the code) to see if it is usable, I would appreciate it.  (Andrea, cd to ...cinelerra-5.1/cinelerra   and do "patch < location of downloaded patch"    should work.

On Mon, Dec 13, 2021 at 12:07 AM Andrew Randrianasulu <randrianasulu@gmail.com> wrote:


On Sunday, December 12, 2021, Phyllis Smith <phylsmith2017@gmail.com> wrote:
 
this patch prevent gif segfault problem (but all images become  the same for given list!) , but not sure about other, similar crashes you observed?
Andrew, patch works just like you stated and most importantly prevents the crash.  Similar mod would have to be put into fileexr.C, filejpeg.C, etc. but let me see if I can get the Freelancer to come up with a different solution -- he keeps nagging me for something to do.

well, I think real solution should augment those filereaders with something like report_w, report_h and then caller must check if previous (cached) info remain the same for current frame.. so at first call we check those params and load them into var1_w, and var1_h, then set someflag we_read_first_info, then just copy var1_w/h to var2_w/h, repeat, now when we have someflag set (thus not first read) compare those two, abort reading of mismatched frame. 


after trying to write down it like this I even think we can name vars first_w, first_h and then check current fetched values against them, not re-loading pair for next/priv  frame at each step. 
this is for avoiding  quite expensive decoding, if I understand our code correctly! 

good luck to freelancer, good health to both of you... 

I agree that it needs a safeguard.  Let me know if you do not find a solution because a freelancer wants to work on something and I thought he might be able to actually do this.  Most of the problems are way too difficult for someone not familiar with Cinelerra to even attempt to work on.