Ayant quelques problèmes avec C. Je possède c'est mon code:Comprendre NSS PK11_CipherOp et C allocation de mémoire
// First line works, second line does not!
char outbuf[1024];
// char *outbuf = (char *) malloc(1024); // char is always 1
Je passe ce outbuf à une méthode appelée PK11_CipherOp()
, a déclaré dans la bibliothèque NSS. La documentation de cette méthode peut être trouvée here, vous pouvez voir qu'il attend un char *
pour le paramètre outbuf.
Je ne comprends pas pourquoi la première ligne fonctionne de manière fiable, et la deuxième ligne ne fonctionne pas!
Pour voir le code complet, s'il vous plaît voir File Source
Merci,
Hamilton
caf, Merci pour l'aide. Malheureusement, cela n'a pas réglé le problème. J'ai des avertissements sur (et je n'en ai pas entendu parler à propos de malloc), mais j'ai implémenté votre solution juste pour être sûr. Vous pouvez consulter la source mise à jour à l'adresse http://code.google.com/p/sysecure/source/browse/trunk/session_keys.c?r = 27 # 119 Lors de l'exécution, cette impression: sysecure: Erreur lors de la tentative de chiffrer un message sysecure: Le défaut d'effectuer l'opération de chiffrement (err -8189) sysecure: Nom de l'erreur - ((null)) sysecure: Erreur message - (Code inconnu ___f 3) et stderr Encrypted Data: longueur des données 0 Toute pensée serait vraiment me aider. – Hamy
Ah oui, il y a aussi un deuxième problème - voir ma mise à jour. – caf