summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools
diff options
context:
space:
mode:
authorJoão Abecasis <joao.abecasis@nokia.com>2011-05-02 11:46:40 (GMT)
committerJoão Abecasis <joao.abecasis@nokia.com>2011-05-03 15:18:45 (GMT)
commit320f172c851a4720299297c8b3b757eb1202c568 (patch)
treea2920f5e0caf09cd5f21149db342bfdaf5c001b2 /src/corelib/tools
parent306d4c772f18a92146c1539920f40d51ff8c306b (diff)
downloadQt-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
Diffstat (limited to 'src/corelib/tools')
-rw-r--r--src/corelib/tools/qtextboundaryfinder.cpp4
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));