Closed Bug 1252133 Opened 8 years ago Closed 8 years ago

graphite2: crash around null in [@graphite2::vm::Machine::run]

Categories

(Core :: Graphics: Text, defect)

defect
Not set
critical

Tracking

()

RESOLVED FIXED
Tracking Status
firefox45 --- disabled
firefox46 --- fixed
firefox47 --- fixed
firefox48 --- fixed
firefox-esr38 46+ disabled
firefox-esr45 46+ disabled

People

(Reporter: tsmith, Unassigned)

References

(Blocks 1 open bug)

Details

(4 keywords, Whiteboard: [sg:dos][gfx-noted])

Attachments

(2 files)

Attached file test_case.ttf
This was found while fuzzing graphite2 revision fb32e2e39ccd0980672f55052f75fc10f8736fb2

==51954== ERROR: AddressSanitizer: SEGV on unknown address 0x00000010 (pc 0xf5fd7162 sp 0xfff84b20 bp 0xfff84c58 T0)
AddressSanitizer can not provide additional info.
    #0 0xf5fd7161 in graphite2::Slot::before(int) /home/user/code/graphite/src/inc/Slot.h:96
    #1 0xf5fd7161 in (anonymous namespace)::direct_run(bool, void* const*, unsigned char const*, int*, graphite2::Slot**&, unsigned char, graphite2::vm::Machine::status_t&, graphite2::SlotMap*) /home/user/code/graphite/src/inc/opcodes.h:362
    #2 0xf5fcf2bd in graphite2::vm::Machine::run(void* const*, unsigned char const*, graphite2::Slot**&) /home/user/code/graphite/src/direct_machine.cpp:116
    #3 0xf60261e1 in graphite2::vm::Machine::Code::run(graphite2::vm::Machine&, graphite2::Slot**&) const /home/user/code/graphite/src/Code.cpp:740
    #4 0xf60ba2ae in graphite2::Pass::doAction(graphite2::vm::Machine::Code const*, graphite2::Slot*&, graphite2::vm::Machine&) const /home/user/code/graphite/src/Pass.cpp:674
    #5 0xf60ba2ae in graphite2::Pass::findNDoRule(graphite2::Slot*&, graphite2::vm::Machine&, graphite2::FiniteStateMachine&) const /home/user/code/graphite/src/Pass.cpp:543
    #6 0xf60c98bd in graphite2::Pass::runGraphite(graphite2::vm::Machine&, graphite2::FiniteStateMachine&, bool) const /home/user/code/graphite/src/Pass.cpp:412
    #7 0xf60f2c9f in graphite2::Silf::runGraphite(graphite2::Segment*, unsigned char, unsigned char, int) const /home/user/code/graphite/src/Silf.cpp:423
    #8 0xf6063624 in graphite2::Face::runGraphite(graphite2::Segment*, graphite2::Silf const*) const /home/user/code/graphite/src/Face.cpp:180
    #9 0xf5fe87c7 in graphite2::Segment::runGraphite() /home/user/code/graphite/src/inc/Segment.h:97
    #10 0xf5fe87c7 in makeAndInitialize /home/user/code/graphite/src/gr_segment.cpp:46
    #11 0xf5fe87c7 in gr_make_seg /home/user/code/graphite/src/gr_segment.cpp:105
    #12 0x804df54 in Parameters::testFileFont() const /home/user/code/graphite/gr2fonttest/gr2FontTest.cpp:680
    #13 0x804a10b in main /home/user/code/graphite/gr2fonttest/gr2FontTest.cpp:782
    #14 0xf5d2ea82 in __libc_start_main /build/eglibc-617sU_/eglibc-2.19/csu/libc-start.c:287
    #15 0x804a305 in _start (/home/user/Desktop/graphite/gr2fonttest+0x804a305)
SUMMARY: AddressSanitizer: SEGV /home/user/code/graphite/src/inc/Slot.h:96 graphite2::Slot::before(int)
==51954== ABORTING
Attached file test_string.txt
fixed? in c0f37ee3a463b92dd87d24495fcd376627f67e8a
Verified with graphite revision bc5409c573aa9ecccacd18cf713021272998cd35
Whiteboard: [sg:dos] → [sg:dos][gfx-noted]
Depends on: 1255158
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Group: gfx-core-security → core-security-release
Graphite2 has been updated on all affected branches including ESRs.
Group: core-security-release
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: