[Tizen] If the text size is too large, crash or deadlock will occur. 72/196572/1 accepted/tizen/5.0/unified/20190103.061818 submit/tizen_5.0/20190103.003110 submit/tizen_5.0/20190103.022905
authorJoogab Yun <joogab.yun@samsung.com>
Wed, 2 Jan 2019 10:14:28 +0000 (19:14 +0900)
committerJoogab Yun <joogab.yun@samsung.com>
Wed, 2 Jan 2019 10:32:02 +0000 (19:32 +0900)
commited8fd6c56bae7bec8d02a4827bbdf4ec063e23ac
tree49af2a4dbeb91ea8af689f1e250ab276b93af038
parent312169a09ce470ae6536a328bf745dd937df3fa3
[Tizen] If the text size is too large, crash or deadlock will occur.

    So, we limit the length.

    3  Dali::Toolkit::Text::ShapeText (text=..., lineBreakInfo=...,
    scripts=..., fonts=...,
startCharacterIndex=startCharacterIndex@entry=0,
    startGlyphIndex=0,
numberOfCharacters=numberOfCharacters@entry=51371,
    glyphs=..., glyphToCharacterMap=..., charactersPerGlyph=...,
    newParagraphGlyphs=...) at
    /usr/src/debug/dali-toolkit-1.3.50.1/build/tizen/dali-toolkit/../../../dali-toolkit/internal/text/shaper.cpp:200
    ...
            currentIndex = 40291
            numberOfGlyphsReserved = 66782
            totalNumberOfGlyphs = 40203
            numberOfNewGlyphs = 40203
            glyphToCharacterMapBuffer = 0x9f85f8
            glyphIndex = 40196
            lastCharacter = 51371
            lastGlyph = <optimized out>

    (gdb)bt
    0  memmove () at
    /usr/src/debug//////////////glibc-2.24/string/../sysdeps/arm/memmove.S:124
    1  0xaaa57450 in Dali::VectorAlgorithms<true>::Insert
(this=0x9c67f8,
    at=0x896204a0 "", from=0x9f85f8 "\022", to=<optimized out>,
    elementSize=36) at
/usr/include/dali/public-api/common/dali-vector.h:373
    2  0xaaa7d25e in Dali::Vector<Dali::TextAbstraction::GlyphInfo,
    true>::Insert (to=<optimized out>, from=0x9f85f8, at=0x896204a0,
    this=0x9c67f8) at
/usr/include/dali/public-api/common/dali-vector.h:624
    3  Dali::Toolkit::Text::ShapeText (text=..., lineBreakInfo=...,
    scripts=..., fonts=...,
startCharacterIndex=startCharacterIndex@entry=0,
    startGlyphIndex=0,
numberOfCharacters=numberOfCharacters@entry=51371,
    glyphs=..., glyphToCharacterMap=..., charactersPerGlyph=...,
    newParagraphGlyphs=...) at
    /usr/src/debug/dali-toolkit-1.3.50.1/build/tizen/dali-toolkit/../../../dali-toolkit/internal/text/shaper.cpp:200
    4  0xaaa85b68 in Dali::Toolkit::Text::Controller::Impl::UpdateModel
    (this=0x9f9760, operationsRequired=<optimized out>) at
    /usr/src/debug/dali-toolkit-1.3.50.1/build/tizen/dali-toolkit/../../../dali-toolkit/internal/text/text-controller-impl.cpp:1019

Change-Id: I33ca1fe7c23db7a76cc66d5950e9bd82c25de5ff
dali-toolkit/internal/text/text-controller.cpp