AG>Что будет происходить при загрузке этого файла через libjpeg ? AG>здесь (распаковать zip перед загрузкой)
Шикарно, подписался на ветку.
Просмотрщик IrfanView падает, он реализован через libjpeg (aka IJG Jpeg). Что нужно запихнуть в jpeg-файл, чтобы воспроизвести? Вижу, размер круглый. Что-нибудь ещё? (Просто сейчас нет под рукой hex-редактора и утилит для просмотра JFIF/Exif метаданных.)
Как ведёт себя Фотошоп? (Наверное, Эдоби использует самопальный JPEG-декодер.) А на Intel'овских библиотеках пробовали?
Глаза у меня добрые, но рубашка — смирительная!
Re: [bug?] кто пользуется libjpeg - можете проверить ?
Q>Просмотрщик IrfanView падает, он реализован через libjpeg (aka IJG Jpeg). Q>Что нужно запихнуть в jpeg-файл, чтобы воспроизвести? Вижу, размер круглый. Что-нибудь ещё? (Просто сейчас нет под рукой hex-редактора и утилит для просмотра JFIF/Exif метаданных.)
Хорошо.
Тут просто крэш дамп есть, решил убедится, что ошибка не в моём коде.
размер круглый, бо выдрано из крашдампа ленивым способом.
Файл, скорее всего, битый.
Q>Как ведёт себя Фотошоп? (Наверное, Эдоби использует самопальный JPEG-декодер.) А на Intel'овских библиотеках пробовали?
Ни на чём пока не пробовал. Я бы вообще хотел IJG Jpeg починить. Там деление на нуль. Возможно, это ничему не угрожает, и достаточно просто завернуть его в __except.
Русский военный корабль идёт ко дну!
Re[2]: [bug?] кто пользуется libjpeg - можете проверить ?
Здравствуйте, DTB, Вы писали:
DTB>убитый файл, содержит много мусора (включая какой то html), и в нем по всей видимости содержит несколько изображений (судя по хедеру JFIF)
DTB>неудачно сохранили?
Вопрос не в том, откуда оно взялось, а в том, что надо починить, чтобы на нём не падало.
Русский военный корабль идёт ко дну!
Re: [bug?] кто пользуется libjpeg - можете проверить ?
Итак. Оказывается, что имеющаяся у меня версия отличается от скачанной с сайта http://ijg.org/ и оригинальная работает. Попробую понять смысл патчей..
Русский военный корабль идёт ко дну!
Re[3]: [bug?] кто пользуется libjpeg - можете проверить ?
От:
Аноним
Дата:
23.12.08 16:59
Оценка:
Здравствуйте, Alexander G, Вы писали: AG>Вопрос не в том, откуда оно взялось, а в том, что надо починить, чтобы на нём не падало.
Чинить парсер, место, где парсятся маркеры (должен быть самый верх парсера, т.к. с них все начинается). Маркер — это два байта: 0xff (обозначает "кажется, маркер начинается"), за которым идет еще один байт, обозначающий тип маркера. Для анализа рекомендую JPEGsnoop: http://www.impulseadventure.com/photo/jpeg-snoop.html.