1. C++ / Говнокод #2752

    +60.5

    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
    //---сортировка по возрастанию методом выбора отдельно реальной и мнимой составляющих---------------
    bool F_Sorted(T_VectorComplex * VC, bool)
    {
        int i, j, m, N;
        double z;
        N = (*VC).size();
        for (j = N - 1; j > 0; j--) {
            m = j;
            z = real((*VC)[j]);
            for (i = j - 1; i >= 0; i--)
                if (z < real((*VC)[i])) {
                    z = real((*VC)[i]);
                    m = i;
                }
            if (j != m) {
                (*VC)[m] = T_Complex(real((*VC)[j]), imag((*VC)[m]));
                (*VC)[j] = T_Complex(z, imag((*VC)[j]));
            }
        }
        for (j = N - 1; j > 0; j--) {
            m = j;
            z = imag((*VC)[j]);
            for (i = j - 1; i >= 0; i--)
                if (z < imag((*VC)[i])) {
                    z = imag((*VC)[i]);
                    m = i;
                }
            if (j != m) {
                (*VC)[m] = T_Complex(real((*VC)[m]), imag((*VC)[j]));
                (*VC)[j] = T_Complex(real((*VC)[j]), z);
            }
        }
        return (true);
    }

    crox, 11 Марта 2010

    Комментарии (32)
  2. Си / Говнокод #2751

    +106.7

    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
    //Разбор принятых данных
    
      //===========================================================================
      //IP-адрес сервера
      //===========================================================================
       for(i=0;i<16;i++)
    	 {
    	  if(CtrlData[i] == ',')
    		break;
    	  else
    		buf[i] = CtrlData[i];
    	 }
    
       //разбираем первый байт адреса
       if(buf[1]=='.')      //вариант 1.
    	 {
    	  ip_buf[0] = ' ';
    	  ip_buf[1] = ' ';
    	  ip_buf[2] = buf[0];
    	  ip_buf[3] = buf[1];
    	  ip_ptr = 2;
    	 }
       else if(buf[2]=='.') //вариант 11.
    	 {
    	  ip_buf[0] = ' ';
    	  ip_buf[1] = buf[0];
    	  ip_buf[2] = buf[1];
    	  ip_buf[3] = buf[2];
    	  ip_ptr = 3;
    	 }
       else if(buf[3]=='.') //вариант 111.
    	 {
    	  for(i=0;i<4;i++)
    		ip_buf[i] = buf[i];
    	  ip_ptr = 4;
    	 }
       else
    	 {
    	  MessageBox(0, "Память устройства или файл содержит неверные данные","Ошибка", MB_ICONERROR|MB_TOPMOST|MB_OK|MB_TASKMODAL);
    	  return 1;
    	 }
    
       //разбираем второй байт адреса
       if(buf[ip_ptr+1]=='.')      //вариант 1.
    	 {
    	  ip_buf[4] = ' ';
    	  ip_buf[5] = ' ';
    	  ip_buf[6] = buf[ip_ptr];
    	  ip_buf[7] = buf[ip_ptr+1];
    	  ip_ptr += 2;
    	 }
       else if(buf[ip_ptr+2]=='.') //вариант 11.
    	 {
    	  ip_buf[4] = ' ';
    	  ip_buf[5] = buf[ip_ptr];
    	  ip_buf[6] = buf[ip_ptr+1];
    	  ip_buf[7] = buf[ip_ptr+2];
    	  ip_ptr += 3;
    	 }
       else if(buf[ip_ptr+3]=='.') //вариант 111.
    	 {
    	  ip_buf[4] = buf[ip_ptr];
    	  ip_buf[5] = buf[ip_ptr+1];
    	  ip_buf[6] = buf[ip_ptr+2];
    	  ip_buf[7] = buf[ip_ptr+3];
    	  ip_ptr += 4;
    	 }
       else
    	 {
    	  MessageBox(0, "Память устройства или файл содержит неверные данные","Ошибка", MB_ICONERROR|MB_TOPMOST|MB_OK|MB_TASKMODAL);
    	  return 1;
    	 }

    парсинг второй половины адреса сюда полностью не влез, но там ничего нового, я вас уверяю =)

    angry C nerd, 11 Марта 2010

    Комментарии (17)
  3. PHP / Говнокод #2750

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    # сегодняшнее число
    $date2 = date(
        "d.m.Y",
        mktime(0,   0,  0, date("m")  , date("d"), date("Y"))
        );

    psrustik, 11 Марта 2010

    Комментарии (22)
  4. Ruby / Говнокод #2749

    −116.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    class Vector
      def -@
        map(&:-@)
      end
    end

    Код мой, говнокодом бы не назвал, но без улыбки точно не взглянешь на такое =)
    (тут определение унарного минуса через вызов того же унарного минуса у всех элементов вектора, Кэп)

    rakoth3d, 11 Марта 2010

    Комментарии (5)
  5. C++ / Говнокод #2748

    +72.7

    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
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    #ifndef Binary_h
    #define Binary_h
    
    #define B0 0
    #define B00 0
    #define B000 0
    #define B0000 0
    #define B00000 0
    #define B000000 0
    #define B0000000 0
    #define B00000000 0
    #define B1 1
    #define B01 1
    #define B001 1
    #define B0001 1
    #define B00001 1
    #define B000001 1
    #define B0000001 1
    #define B00000001 1
    #define B10 2
    #define B010 2
    #define B0010 2
    #define B00010 2
    #define B000010 2
    #define B0000010 2
    #define B00000010 2
    #define B11 3
    #define B011 3
    #define B0011 3
    #define B00011 3
    #define B000011 3
    #define B0000011 3
    #define B00000011 3
    #define B100 4
    #define B0100 4
    #define B00100 4
    #define B000100 4
    #define B0000100 4
    #define B00000100 4
    #define B101 5
    #define B0101 5
    #define B00101 5
    #define B000101 5
    #define B0000101 5
    #define B00000101 5
    #define B110 6
    #define B0110 6
    #define B00110 6
    #define B000110 6
    #define B0000110 6
    #define B00000110 6
    #define B111 7
    #define B0111 7
    #define B00111 7
    #define B000111 7
    #define B0000111 7
    #define B00000111 7
    #define B1000 8
    #define B01000 8
    #define B001000 8
    #define B0001000 8
    #define B00001000 8
    #define B1001 9
    #define B01001 9
    #define B001001 9
    #define B0001001 9
    #define B00001001 9
    #define B1010 10
    #define B01010 10
    #define B001010 10
    #define B0001010 10
    #define B00001010 10
    #define B1011 11
    #define B01011 11
    #define B001011 11
    #define B0001011 11
    #define B00001011 11
    #define B1100 12
    #define B01100 12
    #define B001100 12
    #define B0001100 12
    #define B00001100 12
    #define B1101 13
    #define B01101 13
    #define B001101 13
    #define B0001101 13
    #define B00001101 13
    #define B1110 14
    #define B01110 14
    #define B001110 14
    #define B0001110 14
    #define B00001110 14
    //и.т.д.до значения 255

    файл binary.h из пакета arduino

    danilissimus, 10 Марта 2010

    Комментарии (21)
  6. PHP / Говнокод #2747

    +181.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $str=тут запрос и всё такое сам поймёшь Например Ник или Пароль;
    $col=strlen($str);
    for($i=0; $i <= $col ;$i++)
    {
    $d=1;
    $b= substr($str,$i,$d);
    $d++;
    if($b == chr(92)) { exit ("Hack attemp!!!"); }
    }

    http://www.askdev.ru/question/1427/Как-защититься-от-sql-инъекций/#answer2891

    pingw33n, 10 Марта 2010

    Комментарии (21)
  7. Си / Говнокод #2746

    +104.7

    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
    /*==================================================================================*/
    /* Преобразование целого числа в ASCII												*/
    /*==================================================================================*/
    unsigned char IntToStr (unsigned long Value,unsigned char *pBuf,unsigned char n,unsigned char Zeros)
    {
    // Локальные переменные
    	unsigned char 	j = 0;
    	unsigned long 	dec;
    	uldiv_t			Tmp;
    // Программа
    // Перевод ASCII в значение
    	while (n--)
    	{
    		switch(n)
    		{
    			case 0:
    				dec = 1;
    			break;
    			case 1:
    				dec = 10;
    			break;
    			case 2:
    				dec = 100;
    			break;
    			case 3:
    				dec = 1000;
    			break;
    			case 4:
    				dec = 10000;
    			break;
    			case 5:
    				dec = 100000;
    			break;
    			case 6:
    				dec = 1000000;
    			break;
    			case 7:
    				dec = 10000000;
    			break;
    			case 8:
    				dec = 100000000;
    			break;
    			case 9:
    				dec = 1000000000;
    		}
    		Tmp = uldiv(Value,dec);
    	// Остаток
    		Value = Tmp.rem;
    	// Ограничение
    		if (Tmp.quot > 9)
    			Tmp.quot = 9;
    	// Проверка целой части
    		if (Zeros || j || Tmp.quot || (dec == 1))
    			*(pBuf + j++) = Hex_Table[Tmp.quot];
    	}
    	*(pBuf + j) = '\0';
    	return j;
    }

    без комментариев.

    angry C nerd, 10 Марта 2010

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

    +157.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
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    public function is_image($mime) {
    		//Функция проверяет по mime типу является ли поступивший файл изображением
    		$images_mime = array('image/jpeg','image/pjpeg','image/png','image/cgm','image/fits','image/g3fax',
    							'image/gif','image/ief','image/jp2','image/jpm','image/jpx','image/naplps',
    							'image/prs.btif','image/prs.pti','image/t38','image/tiff','image/tiff-fx',
    							'image/vnd.adobe.photoshop','image/vnd.cns.inf2','image/vnd.djvu','image/vnd.dwg',
    							'image/vnd.dxf','image/vnd.fastbidsheet','image/vnd.fpx','image/vnd.fst',
    							'image/vnd.fujixerox.edmics-mmr','image/vnd.fujixerox.edmics-rlc','image/vnd.globalgraphics.pgb',
    							'image/vnd.microsoft.icon','image/vnd.mix','image/vnd.ms-modi','image/vnd.net-fpx',
    							'image/vnd.sealed.png','image/vnd.sealedmedia.softseal.gif','image/vnd.sealedmedia.softseal.jpg',
    							'image/vnd.svf','image/vnd.wap.wbmp','image/vnd.xiff');
    		if(!in_array($mime,$images_mime)) {
    			//Не было найдено совпадений mime типа - это не картинка
    			return false;
    		}
    		else {
    			//Было найдено совпадение mime типа
    			return true;
    		}
    	}

    Кучка бредокода ради закрытия уязвимости.

    Subsanek, 10 Марта 2010

    Комментарии (28)
  9. Си / Говнокод #2744

    +100.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
    int main()
    {
    	puts("<?php\n");
    	int ch, xit, i, j;
    	for(j=0;j<4;j++) {
    	printf("$weather_date[%d]='", j);
    	xit=1;
    	while(xit) {
    	do { ch = getc(stdin); } while((ch != EOF)&&(ch != '<'));
    	if(ch == EOF) return 1;
    	h = getc(stdin);
    	if(ch == EOF) return 1;
    	if(ch == 't') {
    	ch = getc(stdin);
    	if(ch == EOF) return 1;
    	if(ch == 'd') {
    	do { ch = getc(stdin); } while((ch != EOF)&&(ch!='>'));
    	if(ch == EOF) return 1;
    	do { ch = getc(stdin); if((ch != EOF)&&(ch != '<')) printf("%c", ch); } while((ch != EOF)&&(ch != '<'));
    	if(ch == EOF) return 1;
    	printf("';\n$weather_time[%d]='", j);
    		for(i=0;((ch = getc(stdin)) != EOF)&&(i<2); i++);
    	if(ch == EOF) return 1;
    	do { ch = getc(stdin); if((ch != EOF)&&(ch != '<')) printf("%c", ch); } while((ch != EOF)&&(ch != '<'));
    	if(ch == EOF) return 1;
    	puts("';\n");
    	xit = 0;

    по крону генерится php-скрипт, прогой написанной на сях)

    xXx_totalwar, 10 Марта 2010

    Комментарии (14)
  10. PHP / Говнокод #2743

    +163.5

    1. 1
    2. 2
    3. 3
    $this->query_insert($this, array('', $mode, '', '',$id_group_new, $id_subgroup, $id_product,
    '', '', '', '', '', '', '', '', '',
    '', '', '', '', '', '', '', '', '', '', '', ''));

    Вышел на этот кусок гкода с ошибки о неверном количестве значений в sql insert, не удивился :)

    hardcoder, 10 Марта 2010

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