]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Fix undefined behavior (shift count == bit length) when delay is 0
authorFrode Solheim <frode@fs-uae.net>
Mon, 24 Aug 2015 18:57:41 +0000 (20:57 +0200)
committerFrode Solheim <frode@fs-uae.net>
Mon, 24 Aug 2015 18:57:41 +0000 (20:57 +0200)
custom.cpp

index 6f419defe5f165e6bf1fd7da59c588ce521421e7..9c2f5d4adeb2ee4d6461910d35bfca4681e9b444 100644 (file)
@@ -1943,6 +1943,7 @@ STATIC_INLINE void shift32plus (uae_u64 *p, int n)
 
 STATIC_INLINE void aga_shift (uae_u64 *p, int n)
 {
+       if (n == 0) return;
        shift32plus (p, n);
        p[0] <<= n;
 }
@@ -1957,6 +1958,7 @@ STATIC_INLINE void shift32plusn (uae_u64 *p, int n)
 
 STATIC_INLINE void aga_shift_n (uae_u64 *p, int n)
 {
+       if (n == 0) return;
        shift32plusn (p, n);
        p[1] >>= n;
 }