Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/boringssl.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Langley <agl@chromium.org>2014-08-01 02:23:51 +0400
committerAdam Langley <agl@google.com>2014-08-12 02:10:02 +0400
commitded93581f1674f81faa0dba4b15a842756066ab2 (patch)
tree3ef888c2d7c3fda23863a147ba3552173318e33a /crypto/mem.c
parentd83f38c13a1f943db651cf5e85f9b2f04e80c4a6 (diff)
Windows build fixes.
Windows doesn't have ssize_t, sadly. There's SSIZE_T, but defining an OPENSSL_SSIZE_T seems worse than just using an int. Change-Id: I09bb5aa03f96da78b619e551f92ed52ce24d9f3f Reviewed-on: https://boringssl-review.googlesource.com/1352 Reviewed-by: Adam Langley <agl@google.com>
Diffstat (limited to 'crypto/mem.c')
-rw-r--r--crypto/mem.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/crypto/mem.c b/crypto/mem.c
index e35d98b9..1eb97c9f 100644
--- a/crypto/mem.c
+++ b/crypto/mem.c
@@ -64,6 +64,10 @@
#include <stdio.h>
#include <string.h>
+#if defined(OPENSSL_WINDOWS)
+#include <Windows.h>
+#endif
+
void *OPENSSL_realloc_clean(void *ptr, size_t old_size, size_t new_size) {
void *ret = NULL;
@@ -94,15 +98,15 @@ void *OPENSSL_realloc_clean(void *ptr, size_t old_size, size_t new_size) {
}
void OPENSSL_cleanse(void *ptr, size_t len) {
- memset(ptr, 0, len);
+#if defined(OPENSSL_WINDOWS)
+ SecureZeroMemory(ptr, len);
+#else
+ memset(ptr, 0, len);
#if !defined(OPENSSL_NO_ASM)
/* As best as we can tell, this is sufficient to break any optimisations that
might try to eliminate "superfluous" memsets. If there's an easy way to
detect memset_s, it would be better to use that. */
-#if defined(OPENSSL_WINDOWS)
- __asm;
-#else
__asm__ __volatile__("" : : "r"(ptr) : "memory");
#endif
#endif /* !OPENSSL_NO_ASM */
@@ -155,7 +159,7 @@ size_t OPENSSL_strnlen(const char *s, size_t len) {
#if defined(OPENSSL_WINDOWS)
int OPENSSL_strcasecmp(const char *a, const char *b) {
- return _stricmp(a, b, n);
+ return _stricmp(a, b);
}
int OPENSSL_strncasecmp(const char *a, const char *b, size_t n) {