diff options
author | David Kilzer <ddkilzer@kilzer.net> | 2014-07-14 22:29:56 +0800 |
---|---|---|
committer | Daniel Veillard <veillard@redhat.com> | 2014-07-14 22:29:56 +0800 |
commit | 30cf439efcea9732d0ecd33b7955666ce264129b (patch) | |
tree | 3128f06a5d08dde85b9af52a85cedf446c0ae2bc | |
parent | e036cb3160378d7c46f99434de07c065ebb05bc9 (diff) | |
download | libxml2-30cf439efcea9732d0ecd33b7955666ce264129b.tar.gz |
Check for tmon in _xmlSchemaDateAdd() is incorrect
For https://bugzilla.gnome.org/show_bug.cgi?id=732705
In _xmlSchemaDateAdd(), the check for |tmon| should be the following
since MAX_DAYINMONTH() expects a month in the range [1,12]:
if (tmon < 1)
tmon = 1;
Regression introduced in
https://git.gnome.org/browse/libxml2/commit/?id=14b5643947845df089376106517c4f7ba061e4b0
-rw-r--r-- | xmlschemastypes.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/xmlschemastypes.c b/xmlschemastypes.c index 03a55df2..7a56267c 100644 --- a/xmlschemastypes.c +++ b/xmlschemastypes.c @@ -3848,8 +3848,8 @@ _xmlSchemaDateAdd (xmlSchemaValPtr dt, xmlSchemaValPtr dur) * Coverity detected an overrun in daysInMonth * of size 12 at position 12 with index variable "((r)->mon - 1)" */ - if (tmon < 0) - tmon = 0; + if (tmon < 1) + tmon = 1; if (tmon > 12) tmon = 12; tempdays += MAX_DAYINMONTH(tyr, tmon); |