summaryrefslogtreecommitdiffstats
path: root/src/htags.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2015-01-02 08:56:45 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2015-01-02 09:45:18 (GMT)
commit312bef563a5be72f6423377247db1b80044bf711 (patch)
tree3a656445fa67469b2f1783932fe127e9f39af69a /src/htags.cpp
parented39dab59f8af2c5b42cfac0b3140cf594412121 (diff)
downloadDoxygen-312bef563a5be72f6423377247db1b80044bf711.zip
Doxygen-312bef563a5be72f6423377247db1b80044bf711.tar.gz
Doxygen-312bef563a5be72f6423377247db1b80044bf711.tar.bz2
Fixed a couple of cases where sharing string data could lead to corruption
Also made dangerous string access more visible by introducing rawData(). This replaces data() which will now return a constant string.
Diffstat (limited to 'src/htags.cpp')
-rw-r--r--src/htags.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/htags.cpp b/src/htags.cpp
index 1e18ae1..cbf4aa8 100644
--- a/src/htags.cpp
+++ b/src/htags.cpp
@@ -126,8 +126,10 @@ bool Htags::loadFilemap(const QCString &htmlDir)
line.at(maxlen)='\0';
if (f.open(IO_ReadOnly))
{
- while (f.readLine(line.data(),maxlen)>0)
+ int len;
+ while ((len=f.readLine(line.rawData(),maxlen))>0)
{
+ line.resize(len+1);
//printf("Read line: %s",line.data());
int sep = line.find('\t');
if (sep!=-1)