]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Fix two undefined behaviours found by ubsan.
authorFlorian Krohm <florian@eich-krohm.de>
Thu, 12 Mar 2015 10:21:29 +0000 (10:21 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Thu, 12 Mar 2015 10:21:29 +0000 (10:21 +0000)
Signed integer overflow in multiplication.

git-svn-id: svn://svn.valgrind.org/vex/trunk@3101

VEX/priv/guest_amd64_helpers.c
VEX/priv/guest_x86_helpers.c

index b45a2359724ea27c23636cdce5532133b5d1cd4e..2887b089588b662c136a939d782dda22f2c74153 100644 (file)
@@ -439,8 +439,8 @@ static inline ULong idULong ( ULong x )
    { ULong cf, pf, af, zf, sf, of;                              \
      DATA_STYPE  hi;                                            \
      DATA_STYPE  lo                                             \
-        = NARROWtoS( ((DATA_STYPE)CC_DEP1)                      \
-                     * ((DATA_STYPE)CC_DEP2) );                 \
+        = NARROWtoS( ((DATA_S2TYPE)(DATA_STYPE)CC_DEP1)         \
+                     * ((DATA_S2TYPE)(DATA_STYPE)CC_DEP2) );    \
      DATA_S2TYPE rr                                             \
         = NARROWto2S(                                           \
              ((DATA_S2TYPE)((DATA_STYPE)CC_DEP1))               \
index ecf6f89549253844a48af0df79a0aaf69844fe3b..b4875ee9f9a43fa5e0ad3092fb7c29b911d71d7b 100644 (file)
@@ -397,8 +397,8 @@ static inline ULong idULong ( ULong x )
    { UInt cf, pf, af, zf, sf, of;                               \
      DATA_STYPE  hi;                                            \
      DATA_STYPE  lo                                             \
-        = NARROWtoS( ((DATA_STYPE)CC_DEP1)                      \
-                     * ((DATA_STYPE)CC_DEP2) );                 \
+        = NARROWtoS( ((DATA_S2TYPE)(DATA_STYPE)CC_DEP1)         \
+                     * ((DATA_S2TYPE)(DATA_STYPE)CC_DEP2) );    \
      DATA_S2TYPE rr                                             \
         = NARROWto2S(                                           \
              ((DATA_S2TYPE)((DATA_STYPE)CC_DEP1))               \