Page MenuHomePhabricator

evas: fix png regression issue
ClosedPublic

Authored by kimcinoo on May 6 2020, 7:44 PM.

Details

Summary

Accidentally commit "382c580 evas: add support for .9.png file to PNG loader."
adding the 9 patch feature with small code refactoring made use of setjmp
incorrectly.

[Problem]
evas_image_load_file_data_png calls _evas_image_load_file_internal_head_png,
and _evas_image_load_file_internal_head_png calls setjmp and returns without
problem. And png_read_row calls longjmp. This causes jumping into a function
which was exited. Problematic png file will be attached.

[Solution]
Save calling environment i.e. call setjmp, after returning from
_evas_image_load_file_internal_head_png.

Test Plan

Problematic png file

And example code.

Diff Detail

Repository
rEFL core/efl
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
kimcinoo created this revision.May 6 2020, 7:44 PM
kimcinoo requested review of this revision.May 6 2020, 7:44 PM
kimcinoo edited the test plan for this revision. (Show Details)May 6 2020, 7:46 PM
kimcinoo edited the test plan for this revision. (Show Details)May 6 2020, 7:48 PM
Hermet accepted this revision.May 6 2020, 8:14 PM

looks fine to me.

This revision is now accepted and ready to land.May 6 2020, 8:14 PM
This revision was automatically updated to reflect the committed changes.