Разыменование нулевого указателя не является undefined behavior. Лишь доступ к этому значению. Самый тупой пример &*(p = (void*)0) вполне определено. Кстати, обратите внимание на void. Само по себе разыменовывание 0 теоретически означает разыменовывание 0 адреса, что опять-таки без проблем, хотя тут тоже стандарт как-то не очень об этом говорит. А и segfault — это ядро ругается, и это не часть стадарта. Поверьте, если бы любое разыменование нулевого указателя приводило к Segfault, то и уязвимостей бы не было. А тут, сами посмотрите github.com/FFmpeg/FFmpeg/commits/master от 12 июля Null dereference, сюрприз!
Кстати, тут недавно все спорили насчет &p->element. Дак вот, я считаю, что стандарт об это ничего не говорит вообще. Это такое крупное пятно.
Но давайте всё-таки определим несколько вещей. Вы понимаете, что по факту нет никакого оператора ->? Это просто shorthand для (*p).element (скобки обязательны, поэтому и shorthand). Очевидно, что это туфта какая-то для NULL. Теперь добавим &. Оно раскрывается в &((*p).element). Обратите внимание на еще одни скобки. Понимаете, вы берете & от element! Но структуры то нет… В общем это как-то не очень само по себе. На самом деле все еще сложнее…
Теперь про offsetof. Wikipedia уже исправили. en.wikipedia.org/wiki/Offsetof
«It has generated some debate if this is undefined behavior according to the C standard, since it appears to involve a dereference of a null pointer (although, according to the standard, section 6.6 Constant Expressions, Paragraph 9, the value of the object is not accessed by the operation).
Ну а как? Единственный вариант, это удалить редирект на https, а затем, когда пользователь зайдет по http, отдавать ту страницу, которую веб сервер отдает по https, по http. Но мне кажется, это очень рискованно, можно DDoS устроить.
Извиняюсь. Я имел в виду, что это не имеет смысла для билайна, если у нет root доступа к серверу.)) Т.е. билайн может сколько угодно подменять редирект, работать сервак от этого только по https не перестанет.
И да, «can be stripped by the attacker» опять таки, это подделка https, что непросто))
И? Билайн не опустится до того, чтобы подменять редирект, как это делает Роскомнадзор со своим DPI.
Вы сказали, что билайн вырежет header. Но он не может этого сделать из https.
И я не говорил, что редирект не нужен, разумеется он нужен. А HSTS работает уже после него.
Разумеется нет, может быть они и способны переплюнуть 2013 версию аккумов от Panasonic, но не 2015. en.wikipedia.org/wiki/Eneloop
Посмотрите характиристики BK-3HCD (AA) и BK-4HCD (AAA).
Это так же как с Murata (бывшая Sony Energy) VTC6 (A). Не думаю, что их кто-то переплюнет.
Ну, 2.5 года, это немало, особенно если у вас часы механические, а не электрические. Но вообще вот в вики написано, что у li элементов саморазряд маленький.
Кстати, тут недавно все спорили насчет &p->element. Дак вот, я считаю, что стандарт об это ничего не говорит вообще. Это такое крупное пятно.
Но давайте всё-таки определим несколько вещей. Вы понимаете, что по факту нет никакого оператора ->? Это просто shorthand для (*p).element (скобки обязательны, поэтому и shorthand). Очевидно, что это туфта какая-то для NULL. Теперь добавим &. Оно раскрывается в &((*p).element). Обратите внимание на еще одни скобки. Понимаете, вы берете & от element! Но структуры то нет… В общем это как-то не очень само по себе. На самом деле все еще сложнее…
Теперь про offsetof. Wikipedia уже исправили.
en.wikipedia.org/wiki/Offsetof
«It has generated some debate if this is undefined behavior according to the C standard, since it appears to involve a dereference of a null pointer (although, according to the standard, section 6.6 Constant Expressions, Paragraph 9, the value of the object is not accessed by the operation).
И кстати, когда вы искали на stackechange, слона то вы и не заметили, там такое в одном месте есть…
stackoverflow.com/questions/28482809/c-access-static-members-using-null-pointer/28483477
И да, «can be stripped by the attacker» опять таки, это подделка https, что непросто))
Я просто думал, что вы про http…
Вы сказали, что билайн вырежет header. Но он не может этого сделать из https.
И я не говорил, что редирект не нужен, разумеется он нужен. А HSTS работает уже после него.
Но тогда получается Сбербанк реально нарушает закон. Так как у меня подпись не просили, а просто sms пароль я ввел))
Посмотрите характиристики BK-3HCD (AA) и BK-4HCD (AAA).
Это так же как с Murata (бывшая Sony Energy) VTC6 (A). Не думаю, что их кто-то переплюнет.