diff options
author | João Abecasis <joao.abecasis@nokia.com> | 2011-05-02 11:46:40 (GMT) |
---|---|---|
committer | João Abecasis <joao.abecasis@nokia.com> | 2011-05-03 15:18:45 (GMT) |
commit | 320f172c851a4720299297c8b3b757eb1202c568 (patch) | |
tree | a2920f5e0caf09cd5f21149db342bfdaf5c001b2 | |
parent | 306d4c772f18a92146c1539920f40d51ff8c306b (diff) | |
download | Qt-320f172c851a4720299297c8b3b757eb1202c568.zip Qt-320f172c851a4720299297c8b3b757eb1202c568.tar.gz Qt-320f172c851a4720299297c8b3b757eb1202c568.tar.bz2 |
Don't realloc user-provided buffer
When QTextBoundaryFinder doesn't own the buffer, don't realloc it and
get a new one instead.
Reviewed-by: Ritt Konstantin
-rw-r--r-- | src/corelib/tools/qtextboundaryfinder.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/corelib/tools/qtextboundaryfinder.cpp b/src/corelib/tools/qtextboundaryfinder.cpp index 34bc406..47319d4 100644 --- a/src/corelib/tools/qtextboundaryfinder.cpp +++ b/src/corelib/tools/qtextboundaryfinder.cpp @@ -199,11 +199,11 @@ QTextBoundaryFinder &QTextBoundaryFinder::operator=(const QTextBoundaryFinder &o chars = other.chars; length = other.length; pos = other.pos; - freePrivate = true; QTextBoundaryFinderPrivate *newD = (QTextBoundaryFinderPrivate *) - realloc(d, length*sizeof(HB_CharAttributes)); + realloc(freePrivate ? d : 0, length*sizeof(HB_CharAttributes)); Q_CHECK_PTR(newD); + freePrivate = true; d = newD; memcpy(d, other.d, length*sizeof(HB_CharAttributes)); |