Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
создается тип массив класса Гдля внутреннего пользования. Его имя начинается с <[>, и, поскольку нельзя
Создать класс, имя которого начинается с этого символа, все работает безошибочно. Но в той версии Netscape
Navigator удавалось загрузить класс с таким именем. Точнее, при этом выдавалась ошибка, но виртуальная
Машина устанавливала имя в своей внутренней таблице. В результате Java считала объект массивом, хотя он
Принадлежал совсем другому типу. Итог - замена SecurityManager и потенциальный захват системы,
Ошибка, связанная с приведением типов: interface Inter
{
Void f();
}
Class Secure implements Inter
{
Private void f();
}
Class Dummy extends Secure implements Inter
{
Public void f();
DummyO
{
Secure s = new SecureO;
Inter i = (Inter) s;
I.fO;
}
}
В этом коде вызов i.f() должен быть опознан как вызов защищенного метода класса Secure и запрещен.
Неверное поведение Netscape Navigator 2.02 привело к возможности вызова закрытой функции defineClassO,
Призванной исправить ошибки в верификаторе и механизме загрузки классов.
Небольшая модификация этой же ошибки:
Interface Inter
{
Void f();
}
Class Secure implements Inter
{
Private void f();
}
Class Dummy implements Inter
{
Public void f();
Дата публикования: 2014-11-04; Прочитано: 295 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!