aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--common.h2
-rw-r--r--libar2.h8
-rw-r--r--libar2_erase.c (renamed from libar2_earse.c)14
4 files changed, 19 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index ea08bac..346de0e 100644
--- a/Makefile
+++ b/Makefile
@@ -21,7 +21,7 @@ OBJ =\
libar2_decode_params.o\
libar2_encode_base64.o\
libar2_encode_params.o\
- libar2_earse.o\
+ libar2_erase.o\
libar2_hash.o\
libar2_latest_argon2_version.o\
libar2_string_to_type.o\
diff --git a/common.h b/common.h
index dd6f6c1..ba49332 100644
--- a/common.h
+++ b/common.h
@@ -54,7 +54,7 @@
#define MIN(A, B) ((A) < (B) ? (A) : (B))
-#define ERASE(PTR, N) libar2_earse(PTR, N)
+#define ERASE(PTR, N) libar2_erase(PTR, N)
#define ERASE_ARRAY(ARR) ERASE(ARR, sizeof(ARR))
#define ERASE_STRUCT(S) ERASE(&(S), sizeof(S))
diff --git a/libar2.h b/libar2.h
index 07e60eb..835a02f 100644
--- a/libar2.h
+++ b/libar2.h
@@ -316,9 +316,9 @@ struct libar2_context {
/**
* Memory deallocation function
*
- * The application may which to earse the memory before
+ * The application may which to erase the memory before
* deallocating it; this is not done by the library.
- * This can be done using `libar2_earse`;
+ * This can be done using `libar2_erase`;
*
* Example implementation:
*
@@ -572,12 +572,12 @@ size_t libar2_decode_base64(const char *str, void *data, size_t *lenp);
enum libar2_parameter_error libar2_validate_params(const struct libar2_argon2_parameters *params, const char **errmsgp);
/**
- * Securily earse memory
+ * Securily erase memory
*
* @param mem The memory to erase
* @param size The number of bytes to erase
*/
-void libar2_earse(volatile void *mem, size_t size);
+void libar2_erase(volatile void *mem, size_t size);
/**
* Hash a message
diff --git a/libar2_earse.c b/libar2_erase.c
index 905695a..490cc4a 100644
--- a/libar2_earse.c
+++ b/libar2_erase.c
@@ -23,7 +23,7 @@ __attribute__((optimize("O0")))
# endif
#endif
void
-libar2_earse(volatile void *mem_, size_t size)
+libar2_erase(volatile void *mem_, size_t size)
{
void *mem = *(void **)(void *)&mem_;
#if defined(memset_s)
@@ -36,3 +36,15 @@ libar2_earse(volatile void *mem_, size_t size)
libar2_internal_explicit_memset__(mem, 0, size);
#endif
}
+
+/* Typo in version 1.0 */
+#if defined(__GNUC__)
+extern __typeof(libar2_erase) libar2_earse __attribute__((__weak__, __alias__("libar2_erase")));
+#else
+void libar2_earse(volatile void *mem, size_t size);
+void
+libar2_earse(volatile void *mem, size_t size)
+{
+ libar2_erase(mem, size);
+}
+#endif