- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
// https://github.com/WebKit/WebKit/blob/31b77296cf6d85c40313812d9f65a003cf41f440/Source/WebCore/page/Quirks.cpp#L330
bool Quirks::isGoogleMaps() const
{
auto& url = m_document->topDocument().url();
return topPrivatelyControlledDomain(url.host().toString()).startsWith("google.") && url.path().startsWithIgnoringASCIICase("/maps/");
}
bool Quirks::shouldDispatchSimulatedMouseEvents() const
{
if (RuntimeEnabledFeatures::sharedFeatures().mouseEventsSimulationEnabled())
return true;
if (!needsQuirks())
return false;
auto doShouldDispatchChecks = [this] () -> bool {
auto* loader = m_document->loader();
if (!loader || loader->simulatedMouseEventsDispatchPolicy() != SimulatedMouseEventsDispatchPolicy::Allow)
return false;
if (isAmazon())
return true;
if (isGoogleMaps())
return true;
auto& url = m_document->topDocument().url();
auto host = url.host().convertToASCIILowercase();
if (host == "wix.com" || host.endsWith(".wix.com")) {
// Disable simulated mouse dispatching for template selection.
return !url.path().startsWithIgnoringASCIICase("/website/templates/");
}
if ((host == "desmos.com" || host.endsWith(".desmos.com")) && url.path().startsWithIgnoringASCIICase("/calculator/"))
return true;
if (host == "figma.com" || host.endsWith(".figma.com"))
return true;
if (host == "trello.com" || host.endsWith(".trello.com"))
return true;
if (host == "airtable.com" || host.endsWith(".airtable.com"))
return true;
if (host == "msn.com" || host.endsWith(".msn.com"))
return true;
if (host == "flipkart.com" || host.endsWith(".flipkart.com"))
return true;
if (host == "iqiyi.com" || host.endsWith(".iqiyi.com"))
return true;
if (host == "trailers.apple.com")
return true;
if (host == "soundcloud.com")
return true;
if (host == "naver.com")
return true;
if (host == "nba.com" || host.endsWith(".nba.com"))
return true;
if (host.endsWith(".naver.com")) {
// Disable the quirk for tv.naver.com subdomain to be able to simulate hover on videos.
if (host == "tv.naver.com")
return false;
// Disable the quirk for mail.naver.com subdomain to be able to tap on mail subjects.
if (host == "mail.naver.com")
return false;
// Disable the quirk on the mobile site.
// FIXME: Maybe this quirk should be disabled for "m." subdomains on all sites? These are generally mobile sites that don't need mouse events.
if (host == "m.naver.com")
return false;
return true;
}
return false;
};
if (!m_shouldDispatchSimulatedMouseEventsQuirk)
m_shouldDispatchSimulatedMouseEventsQuirk = doShouldDispatchChecks();
return *m_shouldDispatchSimulatedMouseEventsQuirk;
}
Дааа блядь, давайте в движке браузера захардкодим какие-то говнодомены, что типа вот для них какая-то там блядь симуляция событий мыши работала каким-то таким образом. Охуенно!
Ему что сказали, то он и делает. Или зашкварно идти в гугл только потому, что они собирают бигдату и качают нефть, а не потому, что пишут говнокод?
Мысль ясна?
Ну мать сыра на вкус как^H^H^H^H^H^H^H^H^H^H земля советует мне быть анархистом, у нас здеся всё-таки родина Бакунина.
Но я искусствоцентричен, и все измышления на этот счет, которые могут звучать категорически (aka взять всё и поделить), касаются в моем случае в основном культурных явлений. В пизду буржуазное искусство! на хую я видал индустрии (спотифай, оскар, грэмми, тренды ютуба). Капитал имеет неудержимую тенденцию впитывать, поглощать, скупать, возглавлять и порнографизировать то, что в какой-то момент времени называется "контркультурой", т.н. андеграунд и т.н. авангард во всех их проявлениях, ну и вот на мой взгляд задача приличного человека не сокрушаться от этого впитывания, но всегда оставаться на переднем крае, в бета-версии жизни во всех её проявлениях. Повторяю, как говорил Мераб Мамардашвили, человек есть стремление быть человеком.
Близкий мне авангард — духовический: юродство, пахом, московский концептуализм и акционизм, мамонов, лаэртский, летов, глухов, мавроматти и всё такое.
cancel culture — говно, педерасня — говно, феминизм — говно, проект западного человека — это проект раба с десятью видами жевачки, негры — говно. Но это только в духовных пространствах проявляется, я ж не идиот.
Таким умникам нужно давать пиздюлей.
когда ты старый кусок дефакто, твоя задача сделаь так, чтобы в тебе работали ВСЕ
Если кто-то не работает -- этотвоя проблема
вот и фиксят, как могут
\\u\w\u\\
https://www.gearfuse.com/wp-content/uploads/2010/02/gspotmouse1.jpg
я тут сижу спиной к коридору
- может, у него было благословенное собеседование
> в корридорном углу
- это там, где коррида проводится?
Программисту не по понятиям заниматься чем-то кроме программирования, для этого есть каста менеджеров.
> > в корридорном углу
Я имел в виду в «колидорном», конечно же, просто опечатался!
в таких местах всё равно, куда спиной сидеть - везде один длинный калидор
не благодари
Там кстати еще есть хуйня, которая явно из-за багов в самом браузере. В том же файле
Но есть и явные костыли для всяких популярных сайтов, типа чтоб вот эта конкретная хуйня тут работала особым образом
https://bugs.webkit.org/show_bug.cgi?id=220581
В джаваскрипте целые числа хранятся педерастически, потому что сам язык был разработан педерастами и для передерастов.
Авторы ARM сделали для этого целую инструкцию с поэтичным названием FJCVTZS
https://stackoverflow.com/questions/50966676/why-do-arm-chips-have-an-instruction-with-javascript-in-the-name-fjcvtzs
Дроби говно
лол
>mutable Optional<bool>
блядь ну и говно
В гцц вряд ли, они скорее нассут на неудачника, чем будут костыль втыкать или оптимизацию менее агрессивной делать. Даже Линус их не убедил в своё время.
https://stackoverflow.com/a/56554568
ну и в Clang специально какие-то костыли добавляли, чтобы им вижуалстудиевский диалект C++ компилировать.
https://clang.llvm.org/docs/MSVCCompatibility.html
> MSVC allows many invalid constructs in class templates that Clang has historically rejected. In order to parse widely distributed headers for libraries such as the Active Template Library (ATL) and Windows Runtime Library (WRL), some template rules have been relaxed or extended in Clang on Windows.
Хотя вот поддержка ATL -- уже рядом, костыль ради конкретной либы.
p.s. Говно снова всплыло? В связи с потеплением, или есть другая, более достойная причина? Скажи, не стыдно ли тебе, за непацанское, скажем так, поведение?
p.s. Говно снова всплыло? В связи с потеплением, или есть другая, более достойная причина? Скажи, не стыдно ли тебе, за непацанское, скажем так, поведение?
ты про memmove?:)
по идее же если я уже разыменовал укозатель, а брат всё еще жив, то там стопудово не нул
какие тут могут быть сомнения?
Я могу представить архитектуру, где разыменовывание нула (не ноля, лол, а именно NULL) допустимо, но в сишке то всё равно будет UB
Кто-то криво написал драйвер и попытался прочитать поле до проверки (другая бага).
Это безобидное кеширование поля не упало за счёт подмапанной странички. Но благодаря ему гцц выкинул все последующие проверки. А за ними были косвенные вызовы и т.п. Которыми и воспользовались для повышения привилегий.
ARM'ы вон вообще грузятся с нуля.
Физическая память должна конечно с ноля адресовываца, а виртуальная это почти наверняка лажа.
А на месте операционок я запретил бы мапить туда, и.. минуточку:
mmap_min_addr
Я кстати нашел багор
https://bugzilla.kernel.org/show_bug.cgi?id=14416
Я только что проверил: если я разыменую питуха, а затем проверю его на null, то при -O3 (ну вероятно и при O2) проверка будет выкинута.
clang что-то там вяло помямлил про поссибл нулл, а gcc вообще промолчал даже со стеной
Почему нельзя такие штукенции писать в ворнинги?
Типа: the following condition is always "true"
питух бы быстрее нашел проблему
Это конесно не всенла проблема, я могу проверять какой-то ключ компиляции, но писать про это нужно
А потому что 99% таких ситуаций возникает как последствия инлайна, а не в пределах одной функции.
Ну т.е. есть функция, которая не проверяет указатель на NULL. В общем-то и не обязана, конпелятор её контракт не знает.
Она зовёт другие функции, в которых есть проверка на NULL. В общем-то тоже ничего плохого.
И тут мы начинаем их инлайнить в первую функцию и видим, что проверки то лишние (согласно понятию NULL в стандарте). Можно бы и оптимизнуть.
Жопа в том, что оптимизатору очень сложно отличить такую ситуацию от очевидного бага, он же не знает твои контракты. Поэтому он обычно не ворнингует.
чувак, в результате оптимизации мне удалось доказать, что вот этот вот код нахуй не нужен! Ща я его выкину!
Дык удалось доказать в данном конкретном случае, а про другие 100500 применений он ничего не знает.
Это мусор, а не предупреждение, его просто отключат и забудут. Мусорные ворнинги -- это очень плохо.
Есть много других адресов, которые мне нельзя или бессмысленно разадресовывать, казалось бы, зачем отдельное правило для NULL?
А всё просто, UB про разадресацию NULL'а добавлен в стандарт исключительно для того, чтобы убирать проверки на него во время глубокого инлайна.
Почему не помочь компилтору, и не сделать эту штуку железной?
Сразу станет безопаснее, не?
Поэтому разрабы проца сами в это говно не лезут, а просто дают какой-то способ создать эту защитную зону. Размапать странички, к примеру, или запретить к ним доступ через MPU.
>MPU
извини, я не поинтеловски не разговариваю) Хотя в режиме сегментации наверное можно говорить про MPU.
Проще всего наверное запретить что либо мапить в нижнюю область пожертвовав парой мегабайт. Тогда попытка чото там разыменовать всегда будет приводить к фолту
0 ведь не единственная защитная зона. Они есть ещё вокруг стеков и т.п.
>по-моему проц не должен лезть во всё это.
ну изначально интел очень даже везде лез, предлагая даже хардварно таски переключать, и каждой таске по куче своих сегментов. Но потом забил, да
Ага, именно поэтому в винде есть костыль chkstk, который в функциях где дохрена локалок аккуратно тыкает палчокой в каждую страницу стека по порядку. Иначе вместо роста стека получится сегфолт.
Там первая размапанная страничка наращивает стек при обращении, а вторая (и последующие?) просто крашат прогу.
Я за с89: там размер стека можно было знать заранее, и ровно столько для него выделить места, сколько нужно.
все тян сидят обычно под ником "сукаблядь" на форуме "говнокод.ру" и пиздят с двачерами
а где им еще быть?
ихнее место только здеся
https://blog.usejournal.com/how-i-stole-the-data-in-millions-of-peoples-google-accounts-aa1b72dcc075
Разница между мартышкой гоминидом примерно такая же, как между программистом на PHP и на любом другом языке.
Возможно, мне следует поменять аватар или сменить ник
Wir werden angegriffen! Alle posten besetzen. Ich wederchole: wir werden angegriffen!
там вся эта параша ещё завёрнута в #if ENABLE(TOUCH_EVENTS), так что оно похоже ещё и рассчитано в целом на мобайл (зачем? зачем?)
плюс видимо это ещё как-то отключается?
Мясо длинной свиньи?
Минимально адресумемая единица это байт, а в нем сидит восемь булов.
> в нем сидит восемь булов
– бибулярочка )))
Это газлайтинг
Светит этилен, ацетилен, водород... и газолин.
А меркаптан это ароматизатор "навоз".
Помните, в 1980-х тян делали химическую завивку? Так вот составов для химзавивки бывает два типа:
1. На основе тиогликолевой кислоты (она же меркаптоуксусная).
2. «Биозавивка» на основе цистеамина (он же меркаптамин). Цистеамин никакого отношения к аминокислоте цистеину не имеет, что бы не пиздели маркетологи о натуральности цистеамина.
В итоге тян получала шевелюру с ароматом говна. И за 30 с лишним лет ничего не придумали, составы для завивки всё на той же базе.
попрошу без оскорблений!
Hi, so I encounter quite often this word on video game's chat, I know it's an insult but I just wonder if it's a rude one or just translate as "idiots", "fools". For exemple, I know "мудак/мудаки" is kind of rude and mean "asshole" but is "долбаеб" ruder or softer ?
Honestly I think it's even the insult word I encounter the most ( not toward me ) overall, so I am really curious about how rude it is. :p
https://pbs.twimg.com/media/GL8fAdRW4AAYpAm?format=jpg&name=medium