removed stupid C bug (malloc of strlen(..) instead of 1+strlen)
This commit is contained in:
parent
6290f74605
commit
c703e0c27e
@ -98,6 +98,30 @@ typedef struct {
|
|||||||
Config config;
|
Config config;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
temporary code!!
|
||||||
|
|
||||||
|
will be removed!!
|
||||||
|
|
||||||
|
asking for passphrase will be handeked via gpg-agent!!
|
||||||
|
*/
|
||||||
|
static char tmpPassphrase[1024];
|
||||||
|
struct passphrase_cb_info_s {
|
||||||
|
GpgmeCtx c;
|
||||||
|
int did_it;
|
||||||
|
};
|
||||||
|
static const char *
|
||||||
|
passphrase_cb (void *opaque, const char *desc, void *r_hd)
|
||||||
|
{
|
||||||
|
return tmpPassphrase;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define NEAR_EXPIRY 14
|
#define NEAR_EXPIRY 14
|
||||||
|
|
||||||
bool initialize()
|
bool initialize()
|
||||||
@ -590,12 +614,12 @@ void appendDirectoryServer( const char* servername,
|
|||||||
if( newServers ) {
|
if( newServers ) {
|
||||||
config.directoryServers = newServers;
|
config.directoryServers = newServers;
|
||||||
newServers[ config.numDirectoryServers ].servername =
|
newServers[ config.numDirectoryServers ].servername =
|
||||||
malloc( strlen( servername ) );
|
malloc( 1+strlen( servername ) );
|
||||||
if( newServers[ config.numDirectoryServers ].servername ) {
|
if( newServers[ config.numDirectoryServers ].servername ) {
|
||||||
strcpy( (char *)newServers[ config.numDirectoryServers ].servername,
|
strcpy( (char *)newServers[ config.numDirectoryServers ].servername,
|
||||||
servername );
|
servername );
|
||||||
newServers[ config.numDirectoryServers ].description =
|
newServers[ config.numDirectoryServers ].description =
|
||||||
malloc( strlen( description ) );
|
malloc( 1+strlen( description ) );
|
||||||
if( newServers[ config.numDirectoryServers ].description ) {
|
if( newServers[ config.numDirectoryServers ].description ) {
|
||||||
strcpy( (char *)newServers[ config.numDirectoryServers ].description,
|
strcpy( (char *)newServers[ config.numDirectoryServers ].description,
|
||||||
description );
|
description );
|
||||||
@ -619,10 +643,10 @@ void setDirectoryServers( struct DirectoryServer server[], unsigned int size )
|
|||||||
}
|
}
|
||||||
free( config.directoryServers );
|
free( config.directoryServers );
|
||||||
for( i=0; i < size; ++i ) {
|
for( i=0; i < size; ++i ) {
|
||||||
newServers[ i ].servername = malloc( strlen( server[i].servername ) );
|
newServers[ i ].servername = malloc( 1+strlen( server[i].servername ) );
|
||||||
if( newServers[ i ].servername ) {
|
if( newServers[ i ].servername ) {
|
||||||
strcpy( (char *)newServers[ i ].servername, server[i].servername );
|
strcpy( (char *)newServers[ i ].servername, server[i].servername );
|
||||||
newServers[ i ].description = malloc( strlen( server[i].description ) );
|
newServers[ i ].description = malloc( 1+strlen( server[i].description ) );
|
||||||
if( newServers[ i ].description ) {
|
if( newServers[ i ].description ) {
|
||||||
strcpy( (char *)newServers[ i ].description, server[i].description );
|
strcpy( (char *)newServers[ i ].description, server[i].description );
|
||||||
newServers[ i ].port = server[i].port;
|
newServers[ i ].port = server[i].port;
|
||||||
@ -676,10 +700,48 @@ bool signMessage( const char* cleartext,
|
|||||||
char* rData = 0;
|
char* rData = 0;
|
||||||
char* rSig = 0;
|
char* rSig = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
temporary code!!
|
||||||
|
|
||||||
|
will be removed!!
|
||||||
|
|
||||||
|
asking for passphrase will be handeked via gpg-agent!!
|
||||||
|
*/
|
||||||
|
struct passphrase_cb_info_s info;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if( !ciphertext )
|
if( !ciphertext )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
gpgme_new (&ctx);
|
gpgme_new (&ctx);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
temporary code!!
|
||||||
|
|
||||||
|
will be removed!!
|
||||||
|
|
||||||
|
asking for passphrase will be handeked via gpg-agent!!
|
||||||
|
*/
|
||||||
|
if (!getenv("GPG_AGENT_INFO")) {
|
||||||
|
info.c = ctx;
|
||||||
|
gpgme_set_passphrase_cb (ctx, passphrase_cb, &info);
|
||||||
|
}
|
||||||
|
strcpy( tmpPassphrase, certificate );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
gpgme_set_armor (ctx, 1);
|
gpgme_set_armor (ctx, 1);
|
||||||
gpgme_set_textmode (ctx, 1);
|
gpgme_set_textmode (ctx, 1);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user