Blog do Eduardo Costa Meu blog pessoal

29Mar/100

Big f***ing fail do Firefox

Sempre tive "A" capacidade para afundar sistemas. Nada maldoso - estou mais para aquele cara de "Loucademia de Polícia" que vai derrubando tudo pelo caminho. Já achei bugs que afundaram sistemas em todas as fases possíveis: desde o negócio, passando por requisitos, análise, programação, testes, implantação, e, claro, pós-produção. Nada mais legal que ver o sistema afundando feito cocô na privada bem no instante após entregar para o cliente!

Dessa vez, minha vítima foi o Firefox. Sempre fiquei intrigado em saber como ainda tem criaturas míticas que conseguem achar bugs nesse sujeito. E, claro, com minha habilidade sobre-humana, eu entrei para esse hall da liga.

O meu bug, com número 555504, é simples, porém, elegante. Se você digita algum termo que não é nem URL nem um domínio válido na barra de endereços do FF, este executa uma pesquisa "I feel lucky" no Google, que, por sua vez, traz o primeiro resultado automaticamente. Até a aí, mil maravilhas.

Outro recurso curioso é: se um site for cadastrado como malicioso, o navegador normalmente abre uma tela vermelho-sangue informando que esse site é do mal, etc e tal.

Perfeito! Coisa de navegador seguro. Ou não? Experimente arrumar uma combinação de termos de pesquisa "lucky" que envie para um site malicioso. Resultado? Tela vermelha? Não! O FF abre direto! Passe livre para os bastidores! Yikes!

Até agora, o bug ainda está como "não confirmado", mas creio que vai dar trabalho testar isso - afinal, não é fácil arrumar uma combinação tão curiosa de parâmetros.

Mais nerd que achar falha de segurança no Firefox não conheço!

3Jun/091

Tiradas interessantes no GCC Bug List

O bugzilla do GCC tem uma lista de quips muito interessante. Alguns exemplos que só usuários Linux e programadores C irão entender:

  • rm: cannot remove /bin/laden: not found
  • Feed the hungry, save the whales, free the mallocs!
  • I have a dream... of a unified system for all builds, whether native, cross, Candian, cross-built native, or crossback...
  • All IEEE floating point implementations are equal, but some are more equal than others.
  • -malign-pants
  • to_be || !to_be == 1, to_be | ~to_be == -1
  • AI.cc:33241: warning: You wrote 'neurons.merge(solution1, solution2)", you probably MEANT "neurons->merge(solution1, solution2)" but there is MUCH better way to implement this whole function; doing that instead.
  • #define CRASH() (*(char*)0) = 0
  • /me does his cat-from-shrek2 look -- stevenb, talking about a new register allocator for gcc
  • When you say: "I wrote a program that crashed Windows", people just stare at you blankly and say: "Hey, I got those with the system -- for free." (Linus Torvalds)
  • sh: fortune: command not found
  • To be, or not to be? That is ..... liable to be removed at -O2 and above.
  • Humans are not the target of GCC. -- David Daney
  • This Quip has been sponsored by the -ffast-math supporter team
  • When you open Windows, bugs get in.
  • goto bed;

Tem uns fora da área bem interessantes também:

  • Não acredito em reencarnação, mas acreditava na minha vida anterior
  • As falhas só começam quando você para de tentar
  • É um recurso, e não um bug
  • Encontrei minha "criança interior" e pus o fedelho para adoção
  • Eu não cometo erros estúpidos. Apenas erros muito, muito inteligentes
  • Faça seu melhor - depois supere

Teste para vocação nerd - você encontra a pegadinha dessa?

  • ?- X. % ... 1,000,000 ............ 10,000,000 years later % % >> 42 << (last release gives the question)