From cc324abf739669bd2a4669742c994b86c4ad467b Mon Sep 17 00:00:00 2001 From: danilsomsikov Date: Fri, 11 Jan 2013 16:04:50 +0100 Subject: Fix #8335: Avoid memory leak by never setting data on non-element non-document nodes. Close gh-1127. --- src/data.js | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/data.js b/src/data.js index d5a25ff6c..eaa483813 100644 --- a/src/data.js +++ b/src/data.js @@ -223,6 +223,11 @@ jQuery.extend({ // A method for determining if a DOM node can handle the data expando acceptData: function( elem ) { + // Do not set data on non-element because it will not be cleared (#8335). + if ( elem.nodeType && elem.nodeType !== 1 && elem.nodeType !== 9 ) { + return false; + } + var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; // nodes accept data unless otherwise specified; rejection can be conditional -- cgit v1.2.3