[libxml2] Check for tmon in _xmlSchemaDateAdd() is incorrect



commit 30cf439efcea9732d0ecd33b7955666ce264129b
Author: David Kilzer <ddkilzer kilzer net>
Date:   Mon Jul 14 22:29:56 2014 +0800

    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

 xmlschemastypes.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/xmlschemastypes.c b/xmlschemastypes.c
index 03a55df..7a56267 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);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]