aboutsummaryrefslogtreecommitdiffstats
path: root/src/cert/cvc
diff options
context:
space:
mode:
authorlloyd <lloyd@randombit.net>2010-09-13 12:28:27 +0000
committerlloyd <lloyd@randombit.net>2010-09-13 12:28:27 +0000
commit27d79c87365105d6128afe9eaf8a82383976ed44 (patch)
tree9a4f0e1d5ae7ecd5c058c0293d9b546191990cdb /src/cert/cvc
parent9acfc3a50b31044e48d8dee5fc8030ad7f4518d4 (diff)
Anywhere where we use MemoryRegion::begin to get access to the raw pointer
representation (rather than in an interator context), instead use &buf[0], which works for both MemoryRegion and std::vector
Diffstat (limited to 'src/cert/cvc')
-rw-r--r--src/cert/cvc/ecdsa_sig.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/cert/cvc/ecdsa_sig.cpp b/src/cert/cvc/ecdsa_sig.cpp
index e003bb369..6a44f6803 100644
--- a/src/cert/cvc/ecdsa_sig.cpp
+++ b/src/cert/cvc/ecdsa_sig.cpp
@@ -47,13 +47,11 @@ ECDSA_Signature decode_concatenation(const MemoryRegion<byte>& concat)
if(concat.size() % 2 != 0)
throw Invalid_Argument("Erroneous length of signature");
- u32bit rs_len = concat.size()/2;
- SecureVector<byte> sv_r;
- SecureVector<byte> sv_s;
- sv_r.set(concat.begin(), rs_len);
- sv_s.set(&concat[rs_len], rs_len);
- BigInt r = BigInt::decode(sv_r, sv_r.size());
- BigInt s = BigInt::decode(sv_s, sv_s.size());
+ const u32bit rs_len = concat.size() / 2;
+
+ BigInt r = BigInt::decode(&concat[0], rs_len);
+ BigInt s = BigInt::decode(&concat[rs_len], rs_len);
+
return ECDSA_Signature(r, s);
}