diff options
author | Philipp Gesang <phg@phi-gamma.net> | 2016-05-03 08:27:33 +0200 |
---|---|---|
committer | Philipp Gesang <phg@phi-gamma.net> | 2016-05-03 08:27:36 +0200 |
commit | 8c0dd0ebbedd93cc476d7dd3fbffc4a6d75c7439 (patch) | |
tree | 35e67b54edeb3398212b0e2178ac0063638fe1bf /src/luaotfload-letterspace.lua | |
parent | 664b28e1a6e6ded4240f05b329f754f0144d3f71 (diff) | |
download | luaotfload-8c0dd0ebbedd93cc476d7dd3fbffc4a6d75c7439.tar.gz |
[letterspace] fix double free with disc components
Adress issue #350
For some reason our stack copy of the current node gets double-freed.
Since the “components” field will probably vanish soon, we can get by
for now by skipping the explicit free.
Diffstat (limited to 'src/luaotfload-letterspace.lua')
-rw-r--r-- | src/luaotfload-letterspace.lua | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/luaotfload-letterspace.lua b/src/luaotfload-letterspace.lua index 40b3015..21a9136 100644 --- a/src/luaotfload-letterspace.lua +++ b/src/luaotfload-letterspace.lua @@ -28,9 +28,6 @@ local setfield = nodedirect.setfield local field_setter = function (name) return function (n, ...) setfield (n, name, ...) end end local field_getter = function (name) return function (n, ...) getfield (n, name, ...) end end ---- As of December 2014 the faster ``node.direct.*`` interface is ---- preferred. - local getfont = nodedirect.getfont local getid = nodedirect.getid @@ -351,7 +348,7 @@ kerncharacters = function (head) end start = c setfield(s, "components", nil) - free_node(s) + --free_node(s) --> double free with multipart components c = getfield (start, "components") end end |