aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/ChangeLog6
-rw-r--r--binutils/rcparse.y8
2 files changed, 10 insertions, 4 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 50cb6cc..71eca31 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,9 @@
+2014-06-17 Anton Lavrentiwev <lavr@ncbi.nim.nih.gov>
+
+ PR binutils/16923
+ * rcparse.y (fixedverinfo): Prevent large version numbers from
+ corrupting other values.
+
2014-06-09 Romain Chastenet <romain.chastenet@free.fr>
PR binutils/16252
diff --git a/binutils/rcparse.y b/binutils/rcparse.y
index f552ce5..2d17909 100644
--- a/binutils/rcparse.y
+++ b/binutils/rcparse.y
@@ -1425,15 +1425,15 @@ fixedverinfo:
| fixedverinfo FILEVERSION numexpr optcnumexpr optcnumexpr
optcnumexpr
{
- $1->file_version_ms = ($3 << 16) | $4;
- $1->file_version_ls = ($5 << 16) | $6;
+ $1->file_version_ms = ($3 << 16) | ($4 & 0xffff);
+ $1->file_version_ls = ($5 << 16) | ($6 & 0xffff);
$$ = $1;
}
| fixedverinfo PRODUCTVERSION numexpr optcnumexpr optcnumexpr
optcnumexpr
{
- $1->product_version_ms = ($3 << 16) | $4;
- $1->product_version_ls = ($5 << 16) | $6;
+ $1->product_version_ms = ($3 << 16) | ($4 & 0xffff);
+ $1->product_version_ls = ($5 << 16) | ($6 & 0xffff);
$$ = $1;
}
| fixedverinfo FILEFLAGSMASK numexpr