aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scd/app-openpgp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/scd/app-openpgp.c b/scd/app-openpgp.c
index fcae4d713..626350e3c 100644
--- a/scd/app-openpgp.c
+++ b/scd/app-openpgp.c
@@ -723,7 +723,7 @@ count_sos_bits (const unsigned char *a, size_t len)
unsigned int n = len * 8;
int i;
- if (*a == 0)
+ if (len == 0 || *a == 0)
return n;
for (i=7; i && !(*a & (1<<i)); i--)
@@ -912,11 +912,11 @@ store_fpr (app_t app, int keynumber, u32 timestamp, unsigned char *fpr,
*p++ = nbits;
}
else if (i == 1)
- {
+ {
nbits = count_sos_bits (m[i], mlen[i]);
*p++ = nbits >> 8;
*p++ = nbits;
- }
+ }
memcpy (p, m[i], mlen[i]);
p += mlen[i];
}