skia2/gn
John Stiles 6a1a98c313 Fix for fuzzer-discovered use-after-free.
The inliner discovered that when a binary expression is inlined, its
type is not cloned into the destination's SymbolTable. This meant that
when the inlined-from function was later dead-stripped, the type pointer
would become dangling. Did a quick pass over inlineExpression and
inlineStatement and ensured that types are always copied.

Also found that `copy_if_needed` was making a copy of eligible types
each time one was encountered, instead of making one copy and reusing
it. This is fixed as well.

Change-Id: Iee3259ab038dfb04034bf0110af1909ccffec3de
Bug: oss-fuzz:29444
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/354219
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-01-15 15:11:00 +00:00
..
toolchain allow overriding {target,host}_link = ... in GN 2020-11-05 19:40:47 +00:00
__init__.py Make gn directory importable in python 2017-03-20 17:40:30 +00:00
bench.gni remove very oldest SkVM testing 2020-12-17 21:17:46 +00:00
BUILD.gn Add ios_min_target. 2020-11-18 21:21:25 +00:00
BUILDCONFIG.gn Add is_apple (= is_mac || is_ios) to our GN files 2021-01-12 19:10:58 +00:00
call.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
checkdir.py fix print functions for python3 gn scripts 2020-03-06 17:42:39 +00:00
checkpath.py Python3 tweaks 2019-12-17 17:12:03 +00:00
codesign_ios.py Update code-signing script to have better error messages. 2020-11-09 18:41:36 +00:00
compile_ib_files.py Reland "Add launch screen to iOS apps" 2019-09-05 14:05:08 +00:00
compile_processors.py Fix worklist files with skslc. 2020-11-18 19:41:45 +00:00
compile_sksl_tests.py Add flag to force skslc to compile one test file at a time. 2021-01-12 19:49:00 +00:00
copy_git_directory.py GN tools: copy_git_directory.py better error message. 2019-11-19 17:04:18 +00:00
core.gni Remove SkYUVASizeInfo, make SkYUVAIndex a private part of SkYUVAInfo 2021-01-12 15:06:26 +00:00
cp.py Work around python 2 shutil.copy2 date bug 2020-09-28 20:12:13 +00:00
create_sksl_fp.py SkSL include files are now stored in a binary format 2020-07-31 13:48:25 +00:00
dehydrate_sksl.py quiet dehyrdate_sksl unless it fails 2021-01-08 18:14:29 +00:00
effects_imagefilters.gni Add new SkImageFilters factory API 2019-08-02 13:33:35 +00:00
effects.gni Convert GLHighContrastFilterEffect to an .fp file. 2020-07-10 20:54:33 +00:00
find_headers.py Python3 tweaks 2019-12-17 17:12:03 +00:00
find_msvc.py Add Preview to list of possible MSVC versions. 2020-04-30 19:54:33 +00:00
find_xcode_sysroot.py fix print functions for python3 gn scripts 2020-03-06 17:42:39 +00:00
flutter_defines.gni Add flag to hide non-sampling imageshader factories 2020-12-08 20:33:23 +00:00
fuchsia_defines.gni Enable new clip stack for Fuchsia 2020-10-12 20:41:03 +00:00
gen_plist_ios.py Add product bundle name to iOS Xcode projects 2020-11-16 16:00:56 +00:00
gm.gni support generalized HLG 2021-01-07 19:32:03 +00:00
gn_meta_sln.py fix print functions for python3 gn scripts 2020-03-06 17:42:39 +00:00
gn_to_bp_utils.py Silence SkCodecPrintf on Android 2021-01-11 19:48:04 +00:00
gn_to_bp.py Android: Build skia on top of libicu.so 2020-12-17 16:56:45 +00:00
gn_to_cmake.py Switch GN defs on Mac and iOS to use frameworks, take 3 2020-08-12 17:03:47 +00:00
gpu.gni Reland "Push SkYUVAInfo into GrYUVToRGBEffect." 2021-01-13 22:08:44 +00:00
highest_version_dir.py fix print functions for python3 gn scripts 2020-03-06 17:42:39 +00:00
ios.gni Add ios_min_target. 2020-11-18 21:21:25 +00:00
is_clang.py Fix is_clang python3 encoding errors 2020-06-26 18:41:00 +00:00
make_gm_gni.py GMs: re-sort gni, script to regenerate gni, file name convention 2019-05-02 20:08:37 +00:00
opts.gni add structure for normal SKX opts 2020-06-05 13:48:39 +00:00
pdf.gni Make skia_use_xps option work on Windows 2020-03-24 17:09:33 +00:00
push_to_android.py skia_android_serial = "auto" 2017-01-12 16:30:17 +00:00
rm.py Delete .a file before writing static library. 2020-06-11 17:19:23 +00:00
run_sksllex.py Reland "Fetch clang-format automatically when compiling .fp files." 2020-06-12 13:21:41 +00:00
samples.gni Remove Improved Perlin Noise 2021-01-11 15:27:26 +00:00
shared_sources.gni add structure for normal SKX opts 2020-06-05 13:48:39 +00:00
skia.gni Cache ICU break iterators in SkUnicode_icu 2021-01-13 18:35:24 +00:00
sksl_tests.gni Fix for fuzzer-discovered use-after-free. 2021-01-15 15:11:00 +00:00
sksl.gni Add SkSL DSLVar 2021-01-12 14:36:26 +00:00
tests.gni Beginnings of the SkSL DSL framework 2021-01-07 21:53:01 +00:00
utils.gni Remove SkWhitelistTypefaces. 2020-06-30 14:54:53 +00:00
xps.gni harmonize rewrite-includes and gn-format checks 2020-04-03 17:00:54 +00:00