Closed
Bug 1252417
Opened 10 years ago
Closed 10 years ago
Graphite2 NULL pointer dereference in Slot::next
Categories
(Core :: Graphics: Text, defect)
Core
Graphics: Text
Tracking
()
People
(Reporter: j00ru.vx, Unassigned)
References
Details
(Keywords: csectype-nullptr, sec-low, Whiteboard: Disclosure deadline May 30 [gfx-noted])
Attachments
(1 file)
|
67.45 KB,
application/zip
|
Details |
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36
Steps to reproduce:
The following crash due to a NULL pointer dereference can be observed in an ASAN build of the standard Graphite2 gr2FontTest utility (git trunk), triggered with the following command:
$ ./gr2fonttest /path/to/file -auto
--- cut ---
==29716==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x0000004f6234 bp 0x7ffc1e6be3f0 sp 0x7ffc1e6be3d0 T0)
#0 0x4f6233 in graphite2::Slot::next() const graphite/src/./inc/Slot.h:85:33
#1 0x5c7cd7 in graphite2::Segment::positionSlots(graphite2::Font const*, graphite2::Slot*, graphite2::Slot*, bool, bool) graphite/src/Segment.cpp:437:47
#2 0x541803 in (anonymous namespace)::direct_run(bool, void* const*, unsigned char const*, int*, graphite2::Slot**&, unsigned char, graphite2::vm::Machine::status_t&, graphite2::SlotMap*) graphite/src/./inc/opcodes.h:408:9
#3 0x547f4c in graphite2::vm::Machine::run(void* const*, unsigned char const*, graphite2::Slot**&) graphite/src/direct_machine.cpp:116:17
#4 0x50a1ff in graphite2::vm::Machine::Code::run(graphite2::vm::Machine&, graphite2::Slot**&) const graphite/src/Code.cpp:745:13
#5 0x5ab2d5 in graphite2::Pass::doAction(graphite2::vm::Machine::Code const*, graphite2::Slot*&, graphite2::vm::Machine&) const graphite/src/Pass.cpp:674:17
#6 0x5a4e36 in graphite2::Pass::findNDoRule(graphite2::Slot*&, graphite2::vm::Machine&, graphite2::FiniteStateMachine&) const graphite/src/Pass.cpp:543:33
#7 0x5a2bb9 in graphite2::Pass::runGraphite(graphite2::vm::Machine&, graphite2::FiniteStateMachine&, bool) const graphite/src/Pass.cpp:412:13
#8 0x5d86ca in graphite2::Silf::runGraphite(graphite2::Segment*, unsigned char, unsigned char, int) const graphite/src/Silf.cpp:423:21
#9 0x54e14a in graphite2::Face::runGraphite(graphite2::Segment*, graphite2::Silf const*) const graphite/src/Face.cpp:180:16
#10 0x57ca2f in graphite2::Segment::runGraphite() graphite/src/./inc/Segment.h:97:45
#11 0x5796d3 in (anonymous namespace)::makeAndInitialize(graphite2::Font const*, graphite2::Face const*, unsigned int, graphite2::FeatureVal const*, gr_encform, void const*, unsigned long, int) graphite/src/gr_segment.cpp:46:67
#12 0x579156 in gr_make_seg graphite/src/gr_segment.cpp:105:24
#13 0x4ee2ea in Parameters::testFileFont() const (graphite/gr2fonttest/gr2fonttest+0x4ee2ea)
#14 0x4f0387 in main (graphite/gr2fonttest/gr2fonttest+0x4f0387)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV graphite/src/./inc/Slot.h:85:33 in graphite2::Slot::next() const
==29716==ABORTING
--- cut ---
Attached is an archive with three font files which reproduce the crash.
Updated•10 years ago
|
Group: core-security → gfx-core-security
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: Disclosure deadline May 30
Comment 1•10 years ago
|
||
Fixed? in 80eeffe16258256012243b75ebfa45daed51a737
Comment 2•10 years ago
|
||
Verified with graphite revision 520d76818052772d614e581dacea69499b912be6.
Mateusz can you please confirm? This will be marked fixed once the patches land in our branches.
Flags: needinfo?(j00ru.vx)
Updated•10 years ago
|
Whiteboard: Disclosure deadline May 30 → Disclosure deadline May 30 [gfx-noted]
| Reporter | ||
Comment 3•10 years ago
|
||
I confirm that the crashes reported in this bug no longer reproduce with the latest revision.
Flags: needinfo?(j00ru.vx)
Updated•10 years ago
|
Keywords: csectype-nullptr,
sec-low
Updated•10 years ago
|
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Updated•10 years ago
|
Group: gfx-core-security → core-security-release
Comment 4•10 years ago
|
||
Graphite2 has been updated on all affected branches including ESRs.
status-firefox45:
--- → wontfix
status-firefox46:
--- → fixed
status-firefox47:
--- → fixed
status-firefox48:
--- → fixed
status-firefox-esr38:
--- → fixed
status-firefox-esr45:
--- → fixed
tracking-firefox-esr38:
--- → 46+
tracking-firefox-esr45:
--- → 46+
Updated•10 years ago
|
Updated•10 years ago
|
Updated•9 years ago
|
Group: core-security-release
You need to log in
before you can comment on or make changes to this bug.
Description
•