aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keyedit.c
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2006-04-09 03:34:09 +0000
committerDavid Shaw <[email protected]>2006-04-09 03:34:09 +0000
commit51e88a5fdb92797c5109d2948c1f6e1c5230e6ad (patch)
treee7e0c80e14d0a4a4c27fa41fb9bda7946b06e5ab /g10/keyedit.c
parentFixed segv (diff)
downloadgnupg-51e88a5fdb92797c5109d2948c1f6e1c5230e6ad.tar.gz
gnupg-51e88a5fdb92797c5109d2948c1f6e1c5230e6ad.zip
* getkey.c (parse_auto_key_locate): Fix dupe-removal code.
* keyedit.c (menu_backsign): Allow backsigning even if the secret subkey doesn't have a binding signature. * armor.c (radix64_read): Don't report EOF when reading only a pad (=) character. The EOF actually starts after the pad. * gpg.c (main): Make --export, --send-keys, --recv-keys, --refresh-keys, and --fetch-keys follow their arguments from left to right. Suggested by Peter Palfrader.
Diffstat (limited to '')
-rw-r--r--g10/keyedit.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/g10/keyedit.c b/g10/keyedit.c
index ce31bdc8c..738c9a658 100644
--- a/g10/keyedit.c
+++ b/g10/keyedit.c
@@ -3711,9 +3711,6 @@ menu_backsign(KBNODE pub_keyblock,KBNODE sec_keyblock)
break;
}
- if(!sig_sk)
- continue;
-
/* Now we can get to work. We have a main key and secret part,
a signing subkey with signature and secret part with
signature. */
@@ -3744,13 +3741,16 @@ menu_backsign(KBNODE pub_keyblock,KBNODE sec_keyblock)
xfree(sig_pk->pkt);
sig_pk->pkt=newpkt;
- /* Put the new sig into place on the seckey */
- newpkt=xmalloc_clear(sizeof(*newpkt));
- newpkt->pkttype=PKT_SIGNATURE;
- newpkt->pkt.signature=copy_signature(NULL,newsig);
- free_packet(sig_sk->pkt);
- xfree(sig_sk->pkt);
- sig_sk->pkt=newpkt;
+ if(sig_sk)
+ {
+ /* Put the new sig into place on the seckey */
+ newpkt=xmalloc_clear(sizeof(*newpkt));
+ newpkt->pkttype=PKT_SIGNATURE;
+ newpkt->pkt.signature=copy_signature(NULL,newsig);
+ free_packet(sig_sk->pkt);
+ xfree(sig_sk->pkt);
+ sig_sk->pkt=newpkt;
+ }
modified=1;
}