1. Лучший говнокод

    В номинации:
    За время:
  2. Си / Говнокод #24864

    −10

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    val = atoi(curstr);
    count = 0;
    while (val) {
                buf[count] = (val & 0x7f);
                val = val >> 7;
                count++;
    }

    Ноль не число.
    Отсюда:
    https://dxr.mozilla.org/mozilla-central/source/security/nss/cmd/oidcalc/oidcalc.c

    PAAMAYIM_NEKUDOTAYIM, 05 Октября 2018

    Комментарии (16)
  3. 1C / Говнокод #24852

    0

    1. 1
    2. 2
    |			И (ПериодическийРегистрСведенийПриход.ВидДвижения = ЗНАЧЕНИЕ(Перечисление.ОРГ_ВидыДвижений.Приход))
    |			И (ПериодическийРегистрСведений.ВидДвижения = ЗНАЧЕНИЕ(Перечисление.ОРГ_ВидыДвижений.Расход))

    Регистр накопления? Не, это не для нас.

    Vukhdjaaz, 03 Октября 2018

    Комментарии (16)
  4. Куча / Говнокод #24715

    −3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    Dies irae, dies illa
    solvet saeclum in favilla
    teste David cum Sibylla
    
    Quantus tremor est futurus
    quando judex est venturus
    cuncta stricte discussurus
    
    Tuba mirum spargens sonum
    Per sepulcra regionum,
    Coget omnes ante thronum.
    
    Mors stupebit et natura
    Cum resurget creatura
    judicanti responsura
    
    Liber scriptus proferetur
    in quo totum continetur
    unde mundus judicetur
    
    Judex ergo cum sedebit
    quidquid latet apparebit
    nil inultum remanebit
    
    Quid sum miser tunc dicturus
    quem patronum rogaturus
    cum vix justus sit securus?
    
    Rex tremendae majestatis,
    qui salvandos salvas gratis,
    salva me, fons pietatis.
    
    Recordare, Jesu pie,
    quod sum causa tuae viae:
    ne me perdas illa die.
    
    Quaerens me sedisti lassus;
    redemisti crucem passus.
    Tantus labor non sit cassus.
    
    Juste Judex ultionis
    donum fac remissionis
    ante diem rationis.
    
    Ingemisco tanquam reus:
    culpa rubet vultus meus.
    supplicanti parce, Deus.
    
    Qui Mariam absolvisti
    et latronem exaudisti,
    mihi quoque spem dedisti.
    
    Preces meae non sunt dignae,
    sed tu bonus fac benigne,
    ne perenni cremer igne.
    
    Inter oves locum praesta
    et ab haedis me sequestra,
    statuens in parte dextra.
    
    Confutatis maledictis
    flammis acribus addictis,
    voca me cum benedictis.
    
    Oro supplex et acclinis
    cor contritum quasi cinis,
    gere curam mei finis.
    
    Lacrimosa dies illa
    qua resurget ex favilla
    judicandus homo reus.
    
    huic ergo parce, Deus.
    Pie Jesu Domine,
    dona eis requiem.
    
    Amen.

    yet_another_one_shit, 666_N33D135

    Милосердный Господи Админе,
    Даруй им покой!

    Админь.

    ASMOZDOT, 03 Сентября 2018

    Комментарии (16)
  5. Си / Говнокод #24655

    −4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    https://docs.microsoft.com/en-us/windows/desktop/api/winsock/nf-winsock-wsaasyncselect
    int WSAAsyncSelect(
      SOCKET s,
      HWND   hWnd,
      u_int  wMsg,
      long   lEvent
    );
    
    /*
    
    hWnd
    
    A handle that identifies the window that will receive a message when a network event occurs.
    */

    Почему виндовые асинхронные (или правильно говорить "небликирующиеся") сокеты так черезжопно сделаны? Нафига им через HWND надо месседжи слать? Что, другого способа нет для оповещений?
    Требовать для работы асинхронных сокетов чтоб какое-то окно было это как требовать зубную щетку для входа в туалет чтоб посрать

    j123123, 24 Августа 2018

    Комментарии (16)
  6. Куча / Говнокод #24503

    −1

    1. 1
    Keyword Substitution

    Котаны, что мы думаем про keyword Substitution?

    Для тех, кто в танке: была в прошлом веке такая VCS RCS.
    В ней можно было в файле указать

    $Id$

    И в момент чекаута эта строчка заменялась на
    pitushok.txt,v 1.41 02.06.1991 petya

    Где 1.41 -- ревизия, дальше дата и login того кто делал checkout.
    Когда ты потом собирал дистрибутив из сырцов то у каждого файла всегда была инфа о том, кто (И когда) последний его трогал.
    Чуваки умели делать
    static char* id ="$id$";

    В результате чего эта инфа сохранялась в бинарниках, ее можно было выдрать через комманду ident ну или вывести как-то иначе.

    Субж перекочевал в CVS, оттуда в SVN, а в gitе он был признан порочной практикой и там так никто не делает.

    Опенбздуны, например, сидящие на CVS, до сих пор имеют профит. Там везде написано
    $OpenBSD: cat.1,v 1.35 2015/11/04 21:28:01 tedu Exp $


    ...а в линуксах -- нет.

    Знаете про keywords subst? Использовали? что думаете?

    roskomgovno, 17 Июля 2018

    Комментарии (16)
  7. Куча / Говнокод #24445

    −1

    1. 1
    2. 2
    3. 3
    Яндекс начал индексировать Google Документы с паролями
    
    https://habr.com/post/416219/

    А в чем, собственно, здесь вина "Яндекс"? То что пользователи-долбоёбы держат пароли в общедоступных документах?
    В таком случае я и без "Яндекс" могу получить к ним доступ.

    CrashTesteAnusov, 05 Июля 2018

    Комментарии (16)
  8. PHP / Говнокод #24428

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    $param="";
    if (isset($_REQUEST['NO'])) {
    	$param="?NO=".$_REQUEST['NO'];
    }
    if (isset($_REQUEST['no'])) {
    	$param="?NO=".$_REQUEST['no'];
    }
    if (isset($_REQUEST['No'])) {
    	$param="?NO=".$_REQUEST['No'];
    }
    if (isset($_REQUEST['nO'])) {
    	$param="?NO=".$_REQUEST['nO'];
    }

    Сначала я думал что пьяный индус скопировал и четыре раза вставил кусок кода а потом присмотрелся и ахуел, аж здесь зарегистрировался.

    zhigalin, 29 Июня 2018

    Комментарии (16)
  9. Куча / Говнокод #24411

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Небольшой опрос.
    Вы пароли от своих фаек
    - помните наизусть
    - записываете на листочке или в JSON
    - делаете одинаковый пароль от всех фаек
    - создаетё одноразовые файки и не помните пароль 
    - другое

    CrashTesteAnusov, 23 Июня 2018

    Комментарии (16)
  10. Куча / Говнокод #23694

    0

    1. 1
    2. 2
    3. 3
    4. 4
    > We demonstrate key extraction even from an implementation of Curve25519 Elliptic Curve Diffie-Hellman, which was explicitly designed 
    to minimize side channel leakage, but becomes susceptible due to use of high-level JavaScript
    
    > Concretely, we have embedded the attack code in an advertisement, which we submitted to a commercial web advertisement service

    Тут свежую атаку из жабаскрипта подвезли, они там опять ебут процессорный кэш и угадывают поведение control flow и составляющие ключа по времени доступа к памяти
    https://eprint.iacr.org/2018/119

    Fike, 01 Февраля 2018

    Комментарии (16)
  11. 1C / Говнокод #23595

    +4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    Запрос = Новый Запрос;
    Запрос.Текст = 
    	"ВЫБРАТЬ
    	|	ркЛицевыеСчета.Ссылка,
    	|	ркЛицевыеСчета.Помещение,
    	|	ркЛицевыеСчета.Дом КАК Дом,
    	|	ркЛицевыеСчета.Код КАК Код,
    	|	ркЛицевыеСчета.Помещение.Владелец Как ПомещениеВладелец
    	|ИЗ
    	|	Справочник.ркЛицевыеСчета КАК ркЛицевыеСчета";
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    	Об = Справочники.ркЛицевыеСчета.НайтиПоКоду(ВыборкаДетальныеЗаписи.Код);
    	О = Об.ПолучитьОбъект();
    	Д = Справочники.ркДома.НайтиПоНаименованию(ВыборкаДетальныеЗаписи.ПомещениеВладелец);
    	ДО = Д.ПолучитьОбъект();
    	Если Не О.ЭтоГруппа Тогда
    	О.Дом = ДО.Ссылка;
    	О.Записать();
    	КонецЕсли;
    	//ВыборкаДетальныеЗаписи
    КонецЦикла;

    Обработка в базе одного клиента.
    Не сразу понял что она вообще делает и зачем она ТАК ЭТО ДЕЛАЕТ.

    naodesu, 18 Декабря 2017

    Комментарии (16)