Os formatadores de strings da Granja do Solar

7 11 2007

Recentemente fiz uma revisão de código onde encontrei sprintf, gets, strcat e strcpy para todos os cantos, além de outros pecados mortais. Não houve como não lembrar dos capítulos “os formatadores de strings da Granja Solar” do livro Exceptional C++ Style (que traduzido para o pt-br virou Programação Avançada em C++) do Herb Sutter, onde de uma forma divertida ele cita George Orwell:

 

“Todos os animais são iguais, mas alguns são mais iguais do que outros”

Descontando os detalhes não tão óbvios, sobre strings, com várias fontes bibliográficas (inclusive em português) não acreditei na quantidade de código inseguro que encontrei num software comercial, mas é como diz o Jeff Atwood do Coding Horror [1] para encontrar código inseguro, basta procurar!

Mas sobre strings, como expressa o Sutter, “francamente, você já deveria estar utilizando snprintf mesmo antes dele ter tornado-se padrão” pois historicamente até bugs non sense e incompreendidos são resolvidos quando a boa prática é empregada.

Como há sempre muito mais do mesmo, pra quem realmente programa em C++ e não leu os livros do Sutter [1] recomendo-os, pois além de dicas de codificação segura há dicas para melhorar a perfomance, diminuir armadilhas entre outras, depois o livro do Seacord [2] que apesar do repeteco, é específico e trata de alguns detalhes ausentes na obra do Sutter.

Para todos, recomendo o 19 Deadly Sins of Software Security [3] que li recentemente e é muito útil e interessante, porém para quem deseja uma leitura mais densa entrem de cabeça no “The Art of Software Security Assesment” [4] do Mark Dowd, Johan Mcdonald e do Justin Schuh.
No site http://www.codigoseguro.com.br há uma seção de livros [5] que contém varias obras que eu poderia recomendar, mais alguns livros que desconheço, além de vários artigos interessantes para doses homeopáticas, há sempre muito mais do mesmo, mas são as pequenas novidades que muitas vezes fixam conceitos que já deveriam estar enraizados em nossa mente.
Para quem quiser uma palhinha, leiam: Top 10 Secure Coding Practices [6] de onde eu tirei esta imagem que eventualmente me vem na cabeça quando encontro certas construções peculiares.

 

About these ads

Ações

Information

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 5.359 outros seguidores

%d blogueiros gostam disto: