summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornagendra modadugu <ngm@google.com>2016-03-07 17:56:46 -0800
committerchrome-bot <chrome-bot@chromium.org>2016-03-07 21:56:04 -0800
commit88e0161583a9fe6481ed0167cbaf28ea27e99b80 (patch)
tree98dbb5605fe0ffd9ef0cd3c39be2a817cf942e63
parent6e0309ffa9019680bb9294d5b154fe14bebc5f22 (diff)
downloadchrome-ec-88e0161583a9fe6481ed0167cbaf28ea27e99b80.tar.gz
CR50: move utility method reverse() to common/util.c
reverse() swaps the endian-ness of a buffer of specified length. This change moves the implementation to a common location. BRANCH=none BUG=chrome-os-partner:43025,chrome-os-partner:47524 TEST=compilation succeeds Change-Id: If8c97f53cc199d63c1caebbd999e1c099814387e Signed-off-by: nagendra modadugu <ngm@google.com> Reviewed-on: https://chromium-review.googlesource.com/331333 Commit-Ready: Nagendra Modadugu <ngm@google.com> Tested-by: Nagendra Modadugu <ngm@google.com> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
-rw-r--r--chip/g/dcrypto/rsa.c13
-rw-r--r--common/util.c15
-rw-r--r--include/util.h5
3 files changed, 20 insertions, 13 deletions
diff --git a/chip/g/dcrypto/rsa.c b/chip/g/dcrypto/rsa.c
index 9d854e7533..5107773a30 100644
--- a/chip/g/dcrypto/rsa.c
+++ b/chip/g/dcrypto/rsa.c
@@ -297,19 +297,6 @@ static int check_pkcs1_type1_pad(const uint8_t *msg, uint32_t msg_len,
return memcmp(msg, &padded[i], hash_size) == 0;
}
-static void reverse(uint8_t *start, size_t len)
-{
- int i;
- uint8_t *end = start + len;
-
- for (i = 0; i < len / 2; ++i) {
- uint8_t tmp = *start;
-
- *start++ = *--end;
- *end = tmp;
- }
-}
-
static int check_modulus_params(const struct BIGNUM *N, uint32_t *out_len)
{
if (bn_size(N) > RSA_MAX_BYTES)
diff --git a/common/util.c b/common/util.c
index 2b745e8621..9df5b5596f 100644
--- a/common/util.c
+++ b/common/util.c
@@ -305,6 +305,21 @@ void *memmove(void *dest, const void *src, size_t len)
}
+void reverse(void *dest, size_t len)
+{
+ int i;
+ uint8_t *start = dest;
+ uint8_t *end = start + len;
+
+ for (i = 0; i < len / 2; ++i) {
+ uint8_t tmp = *start;
+
+ *start++ = *--end;
+ *end = tmp;
+ }
+}
+
+
char *strzcpy(char *dest, const char *src, int len)
{
char *d = dest;
diff --git a/include/util.h b/include/util.h
index d8967ec0c0..fd8f5d40c9 100644
--- a/include/util.h
+++ b/include/util.h
@@ -146,6 +146,11 @@ int uint64divmod(uint64_t *v, int by);
*/
int get_next_bit(uint32_t *mask);
+/**
+ * Reverse's the byte-order of the provided buffer.
+ */
+void reverse(void *dest, size_t len);
+
/****************************************************************************/
/* Conditional stuff.