1. Pascal / Говнокод #7384

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function factorial( n: Integer ): Int64;
    begin
      if n=0 then Result := 1
      else             Result := n*factorial(n-1);
    end;
    
    factorial(-1); //<--ЗАЦИКЛИВАЕТ

    =D

    Fai, 29 Июля 2011

    Комментарии (16)
  2. Assembler / Говнокод #7383

    +242

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    proc HeapCompact(HANDLE hHeap, DWORD dwFlags)
    	mov     edi, edi
    	push    ebp
    	mov     ebp, esp
    	pop     ebp
    	jmp     RtlCompactHeap
    endp

    Код от Microsoft. Заглушка? А вот и нет! Для заглушки нужны 5 байтов, а pop ebp останется на месте, т.е. при вызове вершина стека нарушится. Вот не могли просто NOP написать...

    KIRK, 29 Июля 2011

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

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    try
    {
        if (empty($this->kinds) && $this->kinds !== false)
            throw new Exception('', 1);
    }
    catch (Exception $e)
    {
        if (empty($this->kinds))
        $this->kinds = false;
    }

    Забавное использование try catch, почти goto

    sectronov, 29 Июля 2011

    Комментарии (1)
  4. PHP / Говнокод #7381

    +147

    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
    private function getExperts($where = '') {
    		if ($where) {
    			$where = "WHERE $where";
    		}
    		$query = "SELECT * FROM $this->expertsTable $where";
    		$experts = self::$DB->select($query);		
    		
    		// workarround кривой структуры бд
    		// выбрасываем повторяющихся экспертов
    		$experts_unique = array();
    		foreach($experts as $expert)
    		{
    			$key = md5($expert['expertName'].$expert['photo'].$expert['text']);
    			if(!isset($experts_unique[$key])) 
    				$experts_unique[$key] = $expert;
    		}
    		return array_values($experts_unique);
    	}

    odmin, 29 Июля 2011

    Комментарии (1)
  5. Java / Говнокод #7380

    +146

    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
    PreparedStatement pst = conn.prepareStatement(
    					"SELECT * FROM employeeskill, employee " +
    					"WHERE employee.id_EmployeeDetail = employeeskill.id_EmployeeDetail " +
    					"AND employeeskill.name = ?");
    			pst.setString(1, employeeSkillName);
    			
    			ResultSet res = pst.executeQuery();
    			
    			while (res.next()){
    				Employee empl = new Employee(res.getLong(6), res.getString(7),
    						res.getString(8), res.getString(9), res.getString(10),
    						res.getString(11), res.getString(12), res.getLong(13));
    				list.add(empl);

    Nordvind, 29 Июля 2011

    Комментарии (6)
  6. Java / Говнокод #7379

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    List<Project> l =this.listAllProjects();
    ...
    pStmt = conn.prepareStatement("INSERT INTO Project VALUES (?,?,?,?)");
    pStmt.setString(1,""+(l.get(l.size()-1).getID()+1));
    ...

    Запись в базу

    Nordvind, 29 Июля 2011

    Комментарии (0)
  7. Assembler / Говнокод #7378

    +240

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    db $8F, $AE, $A7, $A4, $E0, $A0, $A2, $AB, $EF, $EE, $20, $E3, $EE, $E2, $AD, $A5
    db $AD, $EC, $AA, $A8, $A9, $20, $A3, $AE, $A2, $AD, $AE, $AA, $AE, $A4, $A8, $AA
    db $20, $E1, $20, $A4, $AD, $F1, $AC, $20, $E1, $A8, $E1, $E2, $A5, $AC, $AD, $AE
    db $A3, $AE, $20, $A0, $A4, $AC, $A8, $AD, $A8, $E1, $E2, $E0, $A0, $E2, $AE, $E0
    db $A0, $21

    TarasB, 29 Июля 2011

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

    +147

    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
    if(isset($_POST['logout']))
      {
        $_POST['name']=trim($_POST['name']);
        $_POST['pass']=trim($_POST['pass']);
        if($_POST['name']!="" && $_POST['pass']!="")
           {
             $cons = "bcdfghjklmnpqrstvwxyz";
             $bons = "BCDFGHJKLMNPGRSTVWXYZ";
             $vocs = "aeiou";
             $noms = "123456789";
             for($x=0; $x < 33; $x++){
             mt_srand ((double) microtime() * 1000000);
             $con[$x] = substr($cons, mt_rand(0, strlen($cons)-1), 1);
             $bon[$x] = substr($bons, mt_rand(0, strlen($bons)-1), 1);
             $voc[$x] = substr($vocs, mt_rand(0, strlen($vocs)-1), 1);
             $nom[$x] = substr($noms, mt_rand(0, strlen($noms)-1), 1);
             }
             $makerand= $con[0] . $voc[3] . $con[1] . $nom[2] . $nom[5] .$bon[2] . $con[4];
             @chmod("../admin/conf/config.inc", 0777);
             $cont=file("../admin/conf/config.inc");
                  $f=fopen("../admin/conf/config.inc","w");
                     if (!$f) {
                           echo "Невозможно открыть файл кофигурации";
                           exit;
                     }
                  @$writefile = fwrite($f,$cont[0].$cont[1].$makerand);
                     if (!$writefile) {
                           echo "Невозможно записать файл кофигурации";
                           exit;
                     }
                  @chmod("../admin/conf/config.inc", 0604);
                  fclose($f);
             session_unset ();
             session_destroy ();
             $info="Вы вышли!";
           }
      }

    Столкнулся я с правками на неизвесный мне до этого Kandidat CMS (http://www.kan-studio.ru/).
    Кусок выбран на угад... там все феерически шедеврально.
    Качайте, читайте... помойгайте разработчикам (кошельки на оф. сайте), походу им очень надо на образование подкинуть.
    В остальном коде собачки стоят через строчку.

    PS: я сюда зарегался ради ентого поста.
    PPS: не так важно, но табуляции тоже сохранены.

    Developa, 29 Июля 2011

    Комментарии (7)
  9. PHP / Говнокод #7376

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if (file_exists("C:\autoexec.bat"))
      mysql_query('CREATE TABLE eto_windows');
    
    ...гдето в другом файле
    if(mysql_query('DROP TABLE eto_windows')) {
      echo "это виндоус ;(";
      mysql_query('CREATE TABLE eto_windows');
    }
    ...
    
    // не забываем чистить шлак! а то будут утечки!
    mysql_query('DROP TABLE eto_windows')

    вот такие вот дела...

    qfox, 29 Июля 2011

    Комментарии (15)
  10. JavaScript / Говнокод #7375

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function ismaxlength255(obj){
        if (obj.getAttribute && obj.value.length>255)
                obj.value=obj.value.substring(0,255)
    }
    
    
    
    <textarea name="comment" cols="50" rows="3" onkeypress="return ismaxlength255(this);"></textarea>

    Нашел с исходниках крупной латвийской соц.сети

    jQuery, 28 Июля 2011

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