summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-10-24 10:20:52 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-10-24 15:28:01 +0200
commit3a4eab26cd8d7fdd6ed5bb16107da40e11866041 (patch)
treee56f6a477e10759313308233a26602a04d0d4f60 /filter
parent0667441b71912534552c0abdf0032283aa31cae3 (diff)
ofz#3742 Integer-overflow
Change-Id: Ibb8441df04643dd52111342e6d2c2659033838bb Reviewed-on: https://gerrit.libreoffice.org/43741 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'filter')
-rw-r--r--filter/source/graphicfilter/idxf/dxfgrprd.cxx10
1 files changed, 4 insertions, 6 deletions
diff --git a/filter/source/graphicfilter/idxf/dxfgrprd.cxx b/filter/source/graphicfilter/idxf/dxfgrprd.cxx
index a6c02a408c7c..a7b4f5e58b83 100644
--- a/filter/source/graphicfilter/idxf/dxfgrprd.cxx
+++ b/filter/source/graphicfilter/idxf/dxfgrprd.cxx
@@ -178,15 +178,13 @@ long DXFGroupReader::ReadI()
return 0;
}
- long res = 0, nv = 1;
+ OStringBuffer aNumber;
if (*p == '-') {
- nv=-1;
- p++;
+ aNumber.append(*p++);
}
while ((p != end) && *p >= '0' && *p <= '9') {
- res=res*10+static_cast<long>(*p-'0');
- p++;
+ aNumber.append(*p++);
}
while ((p != end) && (*p==0x20)) p++;
@@ -195,7 +193,7 @@ long DXFGroupReader::ReadI()
return 0;
}
- return res*nv;
+ return aNumber.toString().toInt32();
}
double DXFGroupReader::ReadF()