Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 8365 - Запись по нулевому указателю в функции ITypeInfo2_fnGetContainingTypeLib   Make a simular bug
Summary: Запись по нулевому указателю в функции ITypeInfo2_fnGetContainingTypeLib
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: OLE / DDE / RPC (show other bugs)
Version: 2.0
Hardware: PC All
: P4 minor
Target Milestone: ---
Assignee: Татьяна Фокина
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 3000
  Show dependency treegraph
 
In work:
Reported: 2012-04-04 19:20 MSK by Константин Кондратюк
Modified: 2014-09-11 18:46 MSK (History)
3 users (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Константин Кондратюк 2012-04-04 19:20:25 MSK
(по мотивам баги 8241)

В процессе работы с 1С и MS Script (jscript) возникает ситуация, когда указатель pIndex нулевой, а в него идёт запись значения.

В MSDN по поводу того, может ли быть указатель нулевым, ничего не сказано:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms221450%28v=vs.85%29.aspx

Нужно:
1. Создать тест, выясняющий, может ли быть указатель нулевым.
2. Если указатель не может быть нулевым (E_INVALIDARG), нужно добавить в метод проверку на корректность значений, а также найти и исправить ошибку, из-за которой в функцию приходит не правильное значение (eterbug #8241).
Comment 1 Татьяна Фокина 2012-10-31 14:17:17 MSK
Да, в MSDN сказано только, что "параметр может передаваться неинициализированным". Написала программку, которая вызывает функцию с нулевым значением pIndex. Windows на это реагирует нормально, код ошибки возвращается S_OK.
Comment 2 Татьяна Фокина 2012-11-02 16:30:41 MSK
Сейчас результаты написанного мной теста для нулевого указателя pIndex совпадают с результатами выполнения его же в windows, но если указатель ppTLib нулевой, wine падает, хотя в windows он также игнорируется.
В wine есть еще одна функция ITypeInfo_fnGetContainingTypeLib, которая содержит проверку обоих указателей.
Comment 3 Татьяна Фокина 2013-04-09 22:48:35 MSK
поняла что было не так, переписала тест, отправлю...
Comment 4 Татьяна Фокина 2013-04-10 23:50:45 MSK
А можно совет? Я тут тест допереписала, а потом подумалось. Вот у меня тестируемая функция имеет 2 выходных параметра, их обязательно оба проверять?
Comment 5 Татьяна Фокина 2013-05-24 18:24:12 MSK
(В ответ на comment #4)
> А можно совет? Я тут тест допереписала, а потом подумалось. Вот у меня
> тестируемая функция имеет 2 выходных параметра, их обязательно оба проверять?

Исправила, отправила ещё раз.
Comment 6 Татьяна Фокина 2013-05-29 11:15:04 MSK
Принято на winehq.
Comment 7 Татьяна Фокина 2013-05-29 13:17:56 MSK
Чтобы не было путаницы, отправила к нам revert 8241
    oleaut32: Check pointer before writing (eterbug #8241)
и новые патчи.
Comment 8 Vitaly Lipatov 2014-09-11 18:46:44 MSK
Для тех, кто не пользуется багзиллой или не умеет пользоваться групповым редактированием при поиске, закрываем задачи, которые они должны были принять.