aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJörn Zaefferer <joern.zaefferer@gmail.com>2011-05-18 17:30:26 +0200
committerJörn Zaefferer <joern.zaefferer@gmail.com>2011-05-18 17:35:57 +0200
commite05559eb162b0a3b1c090604a144262de2f9a5d3 (patch)
treecacda7ab58b485510ba26aa5aa44d0463c18611a
parentfab17293e455f31435bf731007ee2badfed1fc31 (diff)
downloadjquery-ui-e05559eb162b0a3b1c090604a144262de2f9a5d3.tar.gz
jquery-ui-e05559eb162b0a3b1c090604a144262de2f9a5d3.zip
There's no guard against unparsed characters at the end of the date string, any extra characters are just ignored
Fixes #7244 - Datepicker: parseDate() does not throw an exception for long years (cherry picked from commit 92b0f6702a9408f4bd7d71ccca7e0e851d0efc6b)
-rw-r--r--tests/unit/datepicker/datepicker_tickets.js9
-rw-r--r--ui/jquery.ui.datepicker.js3
2 files changed, 12 insertions, 0 deletions
diff --git a/tests/unit/datepicker/datepicker_tickets.js b/tests/unit/datepicker/datepicker_tickets.js
index 841e40405..c7fde60de 100644
--- a/tests/unit/datepicker/datepicker_tickets.js
+++ b/tests/unit/datepicker/datepicker_tickets.js
@@ -34,4 +34,13 @@ test('Ticket 6827: formatDate day of year calculation is wrong during day lights
equals(time, "089");
});
+test('Ticket #7244: date parser does not fail when too many numbers are passed into the date function', function() {
+ expect(1);
+ try{
+ var date = $.datepicker.parseDate('dd/mm/yy', '18/04/19881');
+ }catch(e){
+ ok("invalid date detected");
+ }
+});
+
})(jQuery);
diff --git a/ui/jquery.ui.datepicker.js b/ui/jquery.ui.datepicker.js
index 045fa1d92..6681d693c 100644
--- a/ui/jquery.ui.datepicker.js
+++ b/ui/jquery.ui.datepicker.js
@@ -1078,6 +1078,9 @@ $.extend(Datepicker.prototype, {
checkLiteral();
}
}
+ if (iValue < value.length){
+ throw "Extra/unparsed characters found in date: " + value.substring(iValue);
+ }
if (year == -1)
year = new Date().getFullYear();
else if (year < 100)