информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft обещает радикально усилить... 
 Ядро Linux избавляется от российских... 
 20 лет Ubuntu 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / site updates
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Да, это просто самый яркий пример по понятным причинам. 31.03.11 21:00  Число просмотров: 2333
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
<site updates>
Религиозный спор вокруг memcpy и glibc 31.03.11 14:51  
Publisher: dl <Dmitry Leonov>
<"чистая" ссылка>
Религиозный спор вокруг memcpy и glibc
Red Hat Bugzilla, via avva lj https://bugzilla.redhat.com/show_bug.cgi?id=638477, http://avva.livejournal.com/2323823.html

Любопытная и поучительная история разворачивается вокруг одного обновления glibc, добравшись в последние дни и до рунетовских площадок.
Предыстория восходит к далеким K&R временам, когда в стандартной библиотеке появились функции memcpy и memmove, отличающиеся поведением при обработке перекрывающихся регионов. В зависимости от расположения областей перекрытия можно обеспечить корректную работу, запустив копирование от начала либо от конца. Согласно стандарту, memmove такие проверки делает, memcpy - нет (во имя борьбы за производительность), и ее поведение в таких ситуациях не определено, хотя исторически сложилось так, что все реализации memcpy используют копирование "от начала".
Собственно же история началась в конце прошлого года, когда очередное обновление Fedora сломало 64-битный Adobe Flash. Через некоторое время выяснилось, что причина поломки...

Полный текст
Являясь пользователем, системным и прикладным программистом,... 31.03.11 23:18  
Автор: redbrick Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Являясь пользователем, системным и прикладным программистом, сочувствую системщикам. Очень печально, когда твои попытки сделать мир лучше встречаются в штыки. Предлагаю считать крайними прикладных программистов, но вернуть код всё же придётся, либо мириться с тем, что пользователи уходят на другой дистр.

..bw
На какой такой "другой дистр", системный и прикладной... 20.09.11 09:19  
Автор: some body Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Являясь пользователем, системным и прикладным
> программистом, сочувствую системщикам. Очень печально,
> когда твои попытки сделать мир лучше встречаются в штыки.
> Предлагаю считать крайними прикладных программистов, но
> вернуть код всё же придётся, либо мириться с тем, что
> пользователи уходят на другой дистр.
>
> ..bw

На какой такой "другой дистр", системный и прикладной программист? :-) Библиотека Си (glibc) - отдельный проект. Важный и которым пользуются все "дистры". Направление копирования функцией memcpy не определено, я полагаю, вполне правильно и обоснованно. И нечего ссылаться на недовольных пользователей. Которым халтурщики подсовывают свою дурацкую халтуру, в частности, в виде разного дурацкого флэша... Причём, насколько я знаю, Adobe распространяет свою реализацию вовсе без исходного кода. Вообще, возникают серьёзные сомнения насколько они вправе использовать glibc в своих закрытых реализациях флэша. Я лично не использую flash (отсюда следует, что ряд сайтов, чья работа основана на flash, "неработоспособны" на моём компьётере). Flash вообще из ряда вредоносного ПО и я рекомендую всем пользователям, особенно пользующимся Линукс, и вовсе его не использовать. Во всяком случае в процессе обычного просмотра веб, когда нет, что называется, "особых причин".
Что касается библиотеки, то вообще подобные казусы называются двоичной несовместимостью (в данном случае между разными версиями glibc). На самом деле, существует множество несовместимых реализаций Си библиотеки. И даже "конечный" (или конченный?) :-) пользователь должен знать о несовместимости и её последствиях. Однако в данном случае и этого фактически нет, поскольку, как правильно отмечено, спорный аспект поведения функции не определён и специально отмечен как неопределённый. Несколько удивляет даже то, что изменение поведения этой функции может сказаться на уже готовых программах, потому что memcpy в общем-то должна бы встраиваться прямо на место вызова и не вызываться из собственно библиотеки. Хотя, конечно, и встраивания может тоже не быть :-) Особенно, если программу создавали разного рода халтурщики, отличающиеся криворукостью. Рекламирующие себя, в качестве очередных "спасителей мира"... :-)
Складывается ощущение, что это один человек — «сам себя спросил, сам себе ответил». Всё так печально, аж жуть :-/ 20.09.11 19:35  
Автор: kstati <Евгений Борисов> Статус: Elderman
<"чистая" ссылка>
ну-ну. "попытки сделать мир лучше встречаются в штыки". Это из оперы: "Хочешь мир без войны? убей всех." 01.04.11 18:05  
Автор: kstati <Евгений Борисов> Статус: Elderman
<"чистая" ссылка>
Задет был не только адобский плагин, видел и другие жалобы... 31.03.11 20:48  
Автор: kstati <Евгений Борисов> Статус: Elderman
Отредактировано 31.03.11 20:50  Количество правок: 2
<"чистая" ссылка>
Задет был не только адобский плагин, видел и другие жалобы. На мой взгляд разработчики glibc повели себя отвратительно.
Да, в glibc не стандартизировано направление работы memcpy - не описано в документации, это факт, но менять сложившуюся более чем за два десятилетия норму без оповещения публики - дерзко.
Опричники, блин, учащие правильно читать документацию.
Да, это просто самый яркий пример по понятным причинам. 31.03.11 21:00  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach