diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2012-09-23 19:06:00 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2012-09-23 19:07:05 +0200 |
commit | 1d8e1b9683b92f9d107593d8aa83fb3f1a185c41 (patch) | |
tree | 7a8a67d6c685d36a7da744dd77d33ee5d33f4c76 | |
parent | efec91fb5a88680f6e21d06123c7ff6a25fa448c (diff) | |
download | gnutls-1d8e1b9683b92f9d107593d8aa83fb3f1a185c41.tar.gz |
Corrected bug in PGP subpacket encoding
-rw-r--r-- | lib/opencdk/new-packet.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/opencdk/new-packet.c b/lib/opencdk/new-packet.c index 9453476be6..7a7179aff1 100644 --- a/lib/opencdk/new-packet.c +++ b/lib/opencdk/new-packet.c @@ -711,8 +711,9 @@ _cdk_subpkt_get_array (cdk_subpkt_t s, int count, size_t * r_nbytes) buf[n++] = nbytes; else if (nbytes < 8384) { + nbytes -= 192; buf[n++] = nbytes / 256 + 192; - buf[n++] = nbytes % 256; + buf[n++] = nbytes & 0xff; } else { @@ -722,6 +723,7 @@ _cdk_subpkt_get_array (cdk_subpkt_t s, int count, size_t * r_nbytes) buf[n++] = nbytes >> 8; buf[n++] = nbytes; } + buf[n++] = list->type; memcpy (buf + n, list->d, list->size); n += list->size; |