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.