• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Ie9 утечки памяти

  • Автор темы VikaR
  • Дата начала
Статус
Закрыто для дальнейших ответов.
V

VikaR

Пытаюсь запустить такой код под IE9 (это принципиально, потому что под IE8 все делает)
<body>
<div id="puthere" style="font-size:15px;"></div>
<script>
var z = 0;
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var x;
var readok;
var Grid = new Array();

function main() {
xmlDoc.async = "false";
readok = xmlDoc.load("E:\\!Backup\\client_state.xml");
for (var i=0;i<3;i++)
{
Grid = xmlDoc.getElementsByTagName("active_task").getElementsByTagName("fraction_done")[0].childNodes[0].nodeValue; //(*)
}
document.all.puthere.innerHTML=z;
z++;
}

function mainprocedure() {
main();
timervar = setTimeout("mainprocedure();", 1000);
}

mainprocedure();
</script>

Получаю огромные утечки памяти (где-то по 4 кб за такт. Думаю, величина как-то связана с величиной ХМЛ файла). Утечки дает строка обозначеная (*). Если её убрать, то утечек не будет.

Но как только я добавляю строку
var t = xmlDoc.xml;
где-нибудь после readok = xmlDoc.load("client_state.xml");
то утечки волшебным образом пропадают. Причем можна добавлять, например, такое alert(xmlDoc.xml) или даже просто xmlDoc.xml и утечек не будет. Что я не понимаю? Подскажите, потому что уже мозги плавятся и дебагер отказывается дебажить, говорит: я только 100000 раз один код дебажу. XML прикреплен

Спасибо.
 

Вложения

  • client_state.xml
    2 МБ · Просмотры: 261
V

vital

Я думаю, что бы понять, что мы не понимаем,надо дизассемблировать код ие и или вашего актив-икса и поизучать) А потом дать по голове тому кто писал)
Ну.. или.. что бы их избежать, может не стоит использовать активкс, который еще хранит совместимость с IE4(мсхмл вер2) и подключить более новую?

version 3:

var xmlDoc = new ActiveXObject("MSXML2.DOMDocument.3.0"); // msxml ver 3



Version 4:

var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0"); // msxml ver 4

Version 5:

var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.5.0 "); // msxml ver 5

var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.6.0");//ver 6 <- последняя. Мб тут не будет утечек?
 
V

VikaR

Подключила эту
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.6.0");//ver 6 <- последняя. Мб тут не будет утечек?

Ситуация не изменилась
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!