Go to file
John Stiles ca65f8f9f6 Detach VarDeclarations and Variables from each other during deletion.
Variable and VarDeclarations cross-reference one another. They generally
get deleted around the same time, but this is not always the case. In
this CL we explicitly detach them from each other at destruction time
to avoid holding a stale pointer, removing the risk of accessing it
later. (Accessing null is still fatal, of course, but it's less
dangerous than using a recently-freed pointer, and easier to debug as
well.)

Modifying things in the symbol table requires a const_cast, but it's not
too risky to null out a pointer field on a conceptually-dead object.
A Variable without a VarDeclaration is inert.

Change-Id: Ie01244495a82a8007269522a561b2512c5f12384
Bug: oss-fuzz:32587
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390056
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-30 13:10:15 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bazel bazel baby steps 2020-09-14 15:18:32 +00:00
bench Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
bin Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Prepare for Dawn using Tint unconditionally. 2021-03-12 15:05:26 +00:00
client_utils/android Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
demos.skia.org Clean up prev experiment. 2021-03-05 15:56:14 +00:00
dm Reland "Add tooling support for dmsaa" 2021-03-18 04:57:10 +00:00
docker [infra] Fix index.d.ts copy in Wasm Docker build 2021-02-23 15:54:11 +00:00
docs/examples Must pass filtering to picture shader 2021-03-18 22:18:47 +00:00
example Reland "Remove use of legacy display globals." 2020-10-05 19:13:58 +00:00
experimental Remove NVPR 2021-03-19 12:26:38 +00:00
fuzz [fuzz] Expose Region Op fuzzing to oss-fuzz. 2021-03-29 16:05:05 +00:00
gm Avoid creating GM test resources at startup time. 2021-03-29 15:17:09 +00:00
gn Add GrD3DPipeline. 2021-03-29 21:50:14 +00:00
include Refactored DSL variable creation 2021-03-25 23:02:04 +00:00
infra [canvaskit] Skip problematic skp 2021-03-30 13:07:38 +00:00
modules [svg] Fix handling of <rect> rx/ry 2021-03-29 21:13:44 +00:00
platform_tools Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
resources Fix fuzzer-discovered error with variable declarations. 2021-03-29 14:35:09 +00:00
samplecode Move Sk3Perspective and Sk3Lookat into SkM44 2021-03-24 15:47:22 +00:00
site Start adding SkSL/SkRuntimeEffect documentation 2021-03-19 18:41:04 +00:00
site2 [docs] Port markdown to Docsy 2021-03-29 13:13:06 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Detach VarDeclarations and Variables from each other during deletion. 2021-03-30 13:10:15 +00:00
tests Fix fuzzer-discovered error with variable declarations. 2021-03-29 14:35:09 +00:00
third_party Roll skcms from 65de465d622d to b9593d4e39ea (1 revision) 2021-03-25 19:25:41 +00:00
tools Remove anchor and increase wait time for desk_intelwiki.skp 2021-03-29 15:14:22 +00:00
.bazelignore bazel baby steps 2020-09-14 15:18:32 +00:00
.clang-format no more bin packing in .clang-format 2021-03-04 17:22:50 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore Update gitignore for goma win_toolchain 2021-02-01 17:25:52 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Add UWP support 2021-02-10 19:04:42 +00:00
BUILD.bazel bazel baby steps 2020-09-14 15:18:32 +00:00
BUILD.gn [fuzz] Expose Region Op fuzzing to oss-fuzz. 2021-03-29 16:05:05 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll Chromium from 72a44ae7b7da to d6926860006d (346 revisions) 2021-03-30 05:52:14 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod [infra] Roll infra dependency 2021-02-25 19:56:00 +00:00
go.sum [infra] Roll infra dependency 2021-02-25 19:56:00 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
PRESUBMIT.py Reland "[infra] Switch from isolate to RBE-CAS" 2021-02-22 14:41:06 +00:00
public.bzl Remove NVPR 2021-03-19 12:26:38 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
RELEASE_NOTES.txt Remove NVPR 2021-03-19 12:26:38 +00:00
whitespace.txt Whitespace change to re-trigger Mac/iOS tests 2020-02-23 20:55:01 +00:00
WORKSPACE.bazel bazel baby steps 2020-09-14 15:18:32 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.