[Libreoffice-commits] libcdr.git: src/lib
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Tue Jul 2 09:07:54 UTC 2019
src/lib/CDRPath.cpp | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
New commits:
commit 5da3e01b9aa19f8676e052e98815b861311222b9
Author: Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Wed May 29 18:41:01 2019 +0200
Commit: Michael Stahl <Michael.Stahl at cib.de>
CommitDate: Tue Jul 2 11:07:33 2019 +0200
Avoid UB converting from double to int via unsigned
See <https://gerrit.libreoffice.org/#/c/73181/> "external/libcdr: Avoid UB
converting from double to int via unsigned" for details.
Change-Id: I667dbca60674c183b0b7bee50deb0324becd6b21
Reviewed-on: https://gerrit.libreoffice.org/73182
Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
Tested-by: Michael Stahl <Michael.Stahl at cib.de>
diff --git a/src/lib/CDRPath.cpp b/src/lib/CDRPath.cpp
index 86ee10c..cb45f67 100644
--- a/src/lib/CDRPath.cpp
+++ b/src/lib/CDRPath.cpp
@@ -796,7 +796,7 @@ void CDRPath::writeOut(librevenge::RVNGString &path, librevenge::RVNGString &vie
width = qy - py;
- viewBox.sprintf("%i %i %i %i", 0, 0, (unsigned)(2540*(qx - px)), (unsigned)(2540*(qy - py)));
+ viewBox.sprintf("%i %i %i %i", 0, 0, (int)(2540*(qx - px)), (int)(2540*(qy - py)));
for (unsigned long i = 0; i < vec.count(); ++i)
{
@@ -804,38 +804,38 @@ void CDRPath::writeOut(librevenge::RVNGString &path, librevenge::RVNGString &vie
if (vec[i]["librevenge:path-action"]->getStr() == "M")
{
// 2540 is 2.54*1000, 2.54 in = 1 inch
- sElement.sprintf("M%i %i", (unsigned)((vec[i]["svg:x"]->getDouble()-px)*2540),
- (unsigned)((vec[i]["svg:y"]->getDouble()-py)*2540));
+ sElement.sprintf("M%i %i", (int)((vec[i]["svg:x"]->getDouble()-px)*2540),
+ (int)((vec[i]["svg:y"]->getDouble()-py)*2540));
path.append(sElement);
}
else if (vec[i]["librevenge:path-action"]->getStr() == "L")
{
- sElement.sprintf("L%i %i", (unsigned)((vec[i]["svg:x"]->getDouble()-px)*2540),
- (unsigned)((vec[i]["svg:y"]->getDouble()-py)*2540));
+ sElement.sprintf("L%i %i", (int)((vec[i]["svg:x"]->getDouble()-px)*2540),
+ (int)((vec[i]["svg:y"]->getDouble()-py)*2540));
path.append(sElement);
}
else if (vec[i]["librevenge:path-action"]->getStr() == "C")
{
- sElement.sprintf("C%i %i %i %i %i %i", (unsigned)((vec[i]["svg:x1"]->getDouble()-px)*2540),
- (unsigned)((vec[i]["svg:y1"]->getDouble()-py)*2540), (unsigned)((vec[i]["svg:x2"]->getDouble()-px)*2540),
- (unsigned)((vec[i]["svg:y2"]->getDouble()-py)*2540), (unsigned)((vec[i]["svg:x"]->getDouble()-px)*2540),
- (unsigned)((vec[i]["svg:y"]->getDouble()-py)*2540));
+ sElement.sprintf("C%i %i %i %i %i %i", (int)((vec[i]["svg:x1"]->getDouble()-px)*2540),
+ (int)((vec[i]["svg:y1"]->getDouble()-py)*2540), (int)((vec[i]["svg:x2"]->getDouble()-px)*2540),
+ (int)((vec[i]["svg:y2"]->getDouble()-py)*2540), (int)((vec[i]["svg:x"]->getDouble()-px)*2540),
+ (int)((vec[i]["svg:y"]->getDouble()-py)*2540));
path.append(sElement);
}
else if (vec[i]["librevenge:path-action"]->getStr() == "Q")
{
- sElement.sprintf("Q%i %i %i %i", (unsigned)((vec[i]["svg:x1"]->getDouble()-px)*2540),
- (unsigned)((vec[i]["svg:y1"]->getDouble()-py)*2540), (unsigned)((vec[i]["svg:x"]->getDouble()-px)*2540),
- (unsigned)((vec[i]["svg:y"]->getDouble()-py)*2540));
+ sElement.sprintf("Q%i %i %i %i", (int)((vec[i]["svg:x1"]->getDouble()-px)*2540),
+ (int)((vec[i]["svg:y1"]->getDouble()-py)*2540), (int)((vec[i]["svg:x"]->getDouble()-px)*2540),
+ (int)((vec[i]["svg:y"]->getDouble()-py)*2540));
path.append(sElement);
}
else if (vec[i]["librevenge:path-action"]->getStr() == "A")
{
- sElement.sprintf("A%i %i %i %i %i %i %i", (unsigned)((vec[i]["svg:rx"]->getDouble())*2540),
- (unsigned)((vec[i]["svg:ry"]->getDouble())*2540), (vec[i]["librevenge:rotate"] ? vec[i]["librevenge:rotate"]->getInt() : 0),
+ sElement.sprintf("A%i %i %i %i %i %i %i", (int)((vec[i]["svg:rx"]->getDouble())*2540),
+ (int)((vec[i]["svg:ry"]->getDouble())*2540), (vec[i]["librevenge:rotate"] ? vec[i]["librevenge:rotate"]->getInt() : 0),
(vec[i]["librevenge:large-arc"] ? vec[i]["librevenge:large-arc"]->getInt() : 1),
(vec[i]["librevenge:sweep"] ? vec[i]["librevenge:sweep"]->getInt() : 1),
- (unsigned)((vec[i]["svg:x"]->getDouble()-px)*2540), (unsigned)((vec[i]["svg:y"]->getDouble()-py)*2540));
+ (int)((vec[i]["svg:x"]->getDouble()-px)*2540), (int)((vec[i]["svg:y"]->getDouble()-py)*2540));
path.append(sElement);
}
else if (vec[i]["librevenge:path-action"]->getStr() == "Z")
More information about the Libreoffice-commits
mailing list