summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kilzer <ddkilzer@kilzer.net>2014-07-14 22:29:56 +0800
committerDaniel Veillard <veillard@redhat.com>2014-07-14 22:29:56 +0800
commit30cf439efcea9732d0ecd33b7955666ce264129b (patch)
tree3128f06a5d08dde85b9af52a85cedf446c0ae2bc
parente036cb3160378d7c46f99434de07c065ebb05bc9 (diff)
downloadlibxml2-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.c4
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);