1
1
/*!
2
- * jQuery JavaScript Library v1.4.4
2
+ * jQuery JavaScript Library v1.4.5-sec
3
3
* http://jquery.com/
4
4
*
5
5
* Copyright 2010, John Resig
11
11
* Copyright 2010, The Dojo Foundation
12
12
* Released under the MIT, BSD, and GPL Licenses.
13
13
*
14
- * Date: Thu Nov 11 19:04:53 2010 -0500
14
+ * Date: Thu Feb 15 16:39:20 2024 -0600
15
15
*/
16
16
( function ( window , undefined ) {
17
17
@@ -35,8 +35,9 @@ var jQuery = function( selector, context ) {
35
35
rootjQuery ,
36
36
37
37
// A simple way to check for HTML strings or ID strings
38
- // (both of which we optimize for)
39
- quickExpr = / ^ (?: [ ^ < ] * ( < [ \w \W ] + > ) [ ^ > ] * $ | # ( [ \w \- ] + ) $ ) / ,
38
+ // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
39
+ // Strict HTML recognition (#11290: must start with <)
40
+ quickExpr = / ^ (?: ( < [ \w \W ] + > ) [ ^ > ] * | # ( [ \w - ] * ) ) $ / ,
40
41
41
42
// Is it a simple selector
42
43
isSimple = / ^ .[ ^ : # \[ \. , ] * $ / ,
@@ -211,7 +212,7 @@ jQuery.fn = jQuery.prototype = {
211
212
selector : "" ,
212
213
213
214
// The current version of jQuery being used
214
- jquery : "1.4.4 " ,
215
+ jquery : "1.4.5-sec " ,
215
216
216
217
// The default length of a jQuery object is 0
217
218
length : 0 ,
@@ -363,8 +364,9 @@ jQuery.extend = jQuery.fn.extend = function() {
363
364
src = target [ name ] ;
364
365
copy = options [ name ] ;
365
366
367
+ // Prevent Object.prototype pollution
366
368
// Prevent never-ending loop
367
- if ( target === copy ) {
369
+ if ( name === "__proto__" || target === copy ) {
368
370
continue ;
369
371
}
370
372
@@ -4623,7 +4625,6 @@ function winnow( elements, qualifier, keep ) {
4623
4625
4624
4626
var rinlinejQuery = / j Q u e r y \d + = " (?: \d + | n u l l ) " / g,
4625
4627
rleadingWhitespace = / ^ \s + / ,
4626
- rxhtmlTag = / < (? ! a r e a | b r | c o l | e m b e d | h r | i m g | i n p u t | l i n k | m e t a | p a r a m ) ( ( [ \w : ] + ) [ ^ > ] * ) \/ > / ig,
4627
4628
rtagName = / < ( [ \w : ] + ) / ,
4628
4629
rtbody = / < t b o d y / i,
4629
4630
rhtml = / < | & # ? \w + ; / ,
@@ -4632,7 +4633,6 @@ var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
4632
4633
rchecked = / c h e c k e d \s * (?: [ ^ = ] | = \s * .c h e c k e d .) / i,
4633
4634
raction = / \= ( [ ^ = " ' > \s ] + \/ ) > / g,
4634
4635
wrapMap = {
4635
- option : [ 1 , "<select multiple='multiple'>" , "</select>" ] ,
4636
4636
legend : [ 1 , "<fieldset>" , "</fieldset>" ] ,
4637
4637
thead : [ 1 , "<table>" , "</table>" ] ,
4638
4638
tr : [ 2 , "<table><tbody>" , "</tbody></table>" ] ,
@@ -4642,7 +4642,6 @@ var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
4642
4642
_default : [ 0 , "" , "" ]
4643
4643
} ;
4644
4644
4645
- wrapMap . optgroup = wrapMap . option ;
4646
4645
wrapMap . tbody = wrapMap . tfoot = wrapMap . colgroup = wrapMap . caption = wrapMap . thead ;
4647
4646
wrapMap . th = wrapMap . td ;
4648
4647
@@ -4856,8 +4855,6 @@ jQuery.fn.extend({
4856
4855
( jQuery . support . leadingWhitespace || ! rleadingWhitespace . test ( value ) ) &&
4857
4856
! wrapMap [ ( rtagName . exec ( value ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ] ) {
4858
4857
4859
- value = value . replace ( rxhtmlTag , "<$1></$2>" ) ;
4860
-
4861
4858
try {
4862
4859
for ( var i = 0 , l = this . length ; i < l ; i ++ ) {
4863
4860
// Remove element nodes and prevent memory leaks
@@ -5104,8 +5101,6 @@ jQuery.extend({
5104
5101
elem = context . createTextNode ( elem ) ;
5105
5102
5106
5103
} else if ( typeof elem === "string" ) {
5107
- // Fix "XHTML"-style tags in all browsers
5108
- elem = elem . replace ( rxhtmlTag , "<$1></$2>" ) ;
5109
5104
5110
5105
// Trim whitespace, otherwise indexOf won't work as expected
5111
5106
var tag = ( rtagName . exec ( elem ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ,
@@ -5566,7 +5561,7 @@ if ( jQuery.expr && jQuery.expr.filters ) {
5566
5561
5567
5562
5568
5563
var jsc = jQuery . now ( ) ,
5569
- rscript = / < s c r i p t \b [ ^ < ] * (?: (? ! < \/ s c r i p t > ) < [ ^ < ] * ) * < \/ s c r i p t > / gi,
5564
+ rscript = / < s c r i p t \b [ ^ < ] * (?: (? ! < \/ s c r i p t > ) < [ ^ < ] * ) * < * \/ * s c r i p t * > ? / gi,
5570
5565
rselectTextarea = / ^ (?: s e l e c t | t e x t a r e a ) / i,
5571
5566
rinput = / ^ (?: c o l o r | d a t e | d a t e t i m e | e m a i l | h i d d e n | m o n t h | n u m b e r | p a s s w o r d | r a n g e | s e a r c h | t e l | t e x t | t i m e | u r l | w e e k ) $ / i,
5572
5567
rnoContent = / ^ (?: G E T | H E A D ) $ / ,
@@ -6247,7 +6242,7 @@ jQuery.extend({
6247
6242
data = jQuery . parseJSON ( data ) ;
6248
6243
6249
6244
// If the type is "script", eval it in global context
6250
- } else if ( type === "script" || ! type && ct . indexOf ( "javascript" ) >= 0 ) {
6245
+ } else if ( type === "script" ) {
6251
6246
jQuery . globalEval ( data ) ;
6252
6247
}
6253
6248
}
0 commit comments