summaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>2015-12-21 08:23:35 +0000
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>2015-12-21 08:23:35 +0000
commite4a217cecbff289a115c86f9ed4a9d71721ccf06 (patch)
tree11a19346b09f50655be92f03a9139ace2127867e /libiberty
parentf7a0ff6049098bb84af1de232fe7679dfd5c624e (diff)
downloadgcc-e4a217cecbff289a115c86f9ed4a9d71721ccf06.tar.gz
PR 66827
* regex.c (EXTRACT_NUMBER): Cast sign byte to unsigned before left shifting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231873 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty')
-rw-r--r--libiberty/ChangeLog6
-rw-r--r--libiberty/regex.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 673123c8e05..0bda40e0682 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,9 @@
+2015-12-21 Nick Clifton <nickc@redhat.com>
+
+ PR 66827
+ * regex.c (EXTRACT_NUMBER): Cast sign byte to unsigned before left
+ shifting.
+
2015-11-27 Pedro Alves <palves@redhat.com>
PR other/61321
diff --git a/libiberty/regex.c b/libiberty/regex.c
index 16338cb206b..9ffc3f47f00 100644
--- a/libiberty/regex.c
+++ b/libiberty/regex.c
@@ -685,7 +685,7 @@ typedef enum
# define EXTRACT_NUMBER(destination, source) \
do { \
(destination) = *(source) & 0377; \
- (destination) += SIGN_EXTEND_CHAR (*((source) + 1)) << 8; \
+ (destination) += ((unsigned) SIGN_EXTEND_CHAR (*((source) + 1))) << 8; \
} while (0)
# endif