diff --git a/index.js b/index.js index d8765ee..4c3553c 100644 --- a/index.js +++ b/index.js @@ -102,14 +102,14 @@ function parse(str, options) { var index = 0; while (index < str.length) { + var eqIdx = str.indexOf('=', index); + if (eqIdx === -1) break; // No more cookies. + var endIdx = str.indexOf(';', index); if (endIdx === -1) endIdx = str.length; - var eqIdx = index; - while (eqIdx < endIdx && str.charCodeAt(eqIdx) !== 0x3D /* = */) eqIdx++; - - if (eqIdx === endIdx) { - index = endIdx + 1; + if (eqIdx > endIdx) { + index = str.lastIndexOf(';', eqIdx) + 1; continue; }