summaryrefslogtreecommitdiff
path: root/ext/mysqlnd
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-06-19 14:27:13 +0200
committerNikita Popov <nikita.ppv@gmail.com>2019-06-19 15:09:00 +0200
commitf65046b95143a2898d4cf2589219410844a8d20a (patch)
tree128b0e3f67c940538ab6949609f10135ecbf497f /ext/mysqlnd
parent22765160da028590aafc073cc2edbb088e28f436 (diff)
downloadphp-git-f65046b95143a2898d4cf2589219410844a8d20a.tar.gz
Fix shift UB in sint4korr()
Diffstat (limited to 'ext/mysqlnd')
-rw-r--r--ext/mysqlnd/mysqlnd_portability.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/ext/mysqlnd/mysqlnd_portability.h b/ext/mysqlnd/mysqlnd_portability.h
index 622e31dcd4..873f49b0cd 100644
--- a/ext/mysqlnd/mysqlnd_portability.h
+++ b/ext/mysqlnd/mysqlnd_portability.h
@@ -191,10 +191,10 @@ typedef union {
(((uint32_t) (zend_uchar) (A)[2]) << 16) |\
(((uint32_t) (zend_uchar) (A)[1]) << 8) | \
((uint32_t) (zend_uchar) (A)[0])))
-#define sint4korr(A) (int32_t) (((int32_t) ((zend_uchar) (A)[0])) +\
- (((int32_t) ((zend_uchar) (A)[1]) << 8)) +\
- (((int32_t) ((zend_uchar) (A)[2]) << 16)) +\
- (((int32_t) ((int16_t) (A)[3]) << 24)))
+#define sint4korr(A) (int32_t) (((uint32_t) ((A)[0])) +\
+ (((uint32_t) ((A)[1]) << 8)) +\
+ (((uint32_t) ((A)[2]) << 16)) +\
+ (((uint32_t) ((A)[3]) << 24)))
#define sint8korr(A) (int64_t) uint8korr(A)
#define uint2korr(A) (uint16_t) (((uint16_t) ((zend_uchar) (A)[0])) +\