Fragen? Antworten! Siehe auch: Alternativlos
Also ich mache sowas ja beruflich, und habe mir mal überlegt, ob ich nicht gnupg auditieren will. Aber das Ding ist ja so derartig am Explodieren von Release zu Release, das ist völlig unakzeptabel. gnupg ist einmal komplett Teil der TCB, solchen Code muss man minimieren. Was macht Herr Koch stattdessen? Baut da Grafik-Anzeigen rein, einen Agent, eine nicht abschaltbare Smartcard-Library, das (binäre!) Dateiformat ist zum Göbeln, der Footprint bei gnupg 2 beinhaltet auch noch libusb (WTF!?), pth (pthread-Abstraktion von GNU), hat LDAP drin (!?!?), … hier ist mal ein Codezeilen-Vergleich:
while(fgets(line,MAX_LINE,input))Irgendwie schon schade, daß es dieses Jahr kein Codequartett auf dem Congress gibt. MAX_LINE ist so definiert:
[…]
if(strlen(line)+keylen>keymax)
{
keymax+=200;
tmp=realloc(key,keymax+1);
[…]
key=tmp;
}
strcpy(&key[keylen],line);
keylen+=strlen(line);
#define MAX_LINE (6+1+1024+1)und keylen und keymax starten als 0. WTF?!