summaryrefslogtreecommitdiff
path: root/libotr-3.2.0/src/mem.c
diff options
context:
space:
mode:
Diffstat (limited to 'libotr-3.2.0/src/mem.c')
-rw-r--r--libotr-3.2.0/src/mem.c102
1 files changed, 51 insertions, 51 deletions
diff --git a/libotr-3.2.0/src/mem.c b/libotr-3.2.0/src/mem.c
index b2a2191..fe32baa 100644
--- a/libotr-3.2.0/src/mem.c
+++ b/libotr-3.2.0/src/mem.c
@@ -49,57 +49,57 @@ static int header_size;
static void *otrl_mem_malloc(size_t n)
{
- void *p;
- size_t new_n = n;
- new_n += header_size;
+ void *p;
+ size_t new_n = n;
+ new_n += header_size;
- /* Check for overflow attack */
- if (new_n < n) return NULL;
- p = malloc(new_n);
- if (p == NULL) return NULL;
+ /* Check for overflow attack */
+ if (new_n < n) return NULL;
+ p = malloc(new_n);
+ if (p == NULL) return NULL;
- ((size_t *)p)[0] = new_n; /* Includes header size */
+ ((size_t *)p)[0] = new_n; /* Includes header size */
#ifdef OTRL_MEM_MAGIC
- ((size_t *)p)[1] = OTRL_MEM_MAGIC;
+ ((size_t *)p)[1] = OTRL_MEM_MAGIC;
#endif
- return (void *)((char *)p + header_size);
+ return (void *)((char *)p + header_size);
}
static int otrl_mem_is_secure(const void *p)
{
- return 1;
+ return 1;
}
static void otrl_mem_free(void *p)
{
- void *real_p = (void *)((char *)p - header_size);
- size_t n = ((size_t *)real_p)[0];
+ void *real_p = (void *)((char *)p - header_size);
+ size_t n = ((size_t *)real_p)[0];
#ifdef OTRL_MEM_MAGIC
- if (((size_t *)real_p)[1] != OTRL_MEM_MAGIC) {
+ if (((size_t *)real_p)[1] != OTRL_MEM_MAGIC) {
fprintf(stderr, "Illegal free!\n");
return;
- }
+ }
#endif
- /* Wipe the memory (in the same way the built-in deallocator in
- * libgcrypt would) */
- memset(real_p, 0xff, n);
- memset(real_p, 0xaa, n);
- memset(real_p, 0x55, n);
- memset(real_p, 0x00, n);
+ /* Wipe the memory (in the same way the built-in deallocator in
+ * libgcrypt would) */
+ memset(real_p, 0xff, n);
+ memset(real_p, 0xaa, n);
+ memset(real_p, 0x55, n);
+ memset(real_p, 0x00, n);
- free(real_p);
+ free(real_p);
}
static void *otrl_mem_realloc(void *p, size_t n)
{
- if (p == NULL) {
+ if (p == NULL) {
return otrl_mem_malloc(n);
- } else if (n == 0) {
+ } else if (n == 0) {
otrl_mem_free(p);
return NULL;
- } else {
+ } else {
void *real_p = (void *)((char *)p - header_size);
void *new_p;
size_t old_n = ((size_t *)real_p)[0];
@@ -114,50 +114,50 @@ static void *otrl_mem_realloc(void *p, size_t n)
#ifdef OTRL_MEM_MAGIC
if (magic != OTRL_MEM_MAGIC) {
- fprintf(stderr, "Illegal realloc!\n");
- return NULL;
+ fprintf(stderr, "Illegal realloc!\n");
+ return NULL;
}
#endif
if (new_n < old_n) {
- /* Overwrite the space we're about to stop using */
- void *p = (void *)((char *)real_p + new_n);
- size_t excess = old_n - new_n;
- memset(p, 0xff, excess);
- memset(p, 0xaa, excess);
- memset(p, 0x55, excess);
- memset(p, 0x00, excess);
-
- /* We don't actually need to realloc() */
- new_p = real_p;
+ /* Overwrite the space we're about to stop using */
+ void *p = (void *)((char *)real_p + new_n);
+ size_t excess = old_n - new_n;
+ memset(p, 0xff, excess);
+ memset(p, 0xaa, excess);
+ memset(p, 0x55, excess);
+ memset(p, 0x00, excess);
+
+ /* We don't actually need to realloc() */
+ new_p = real_p;
} else {
- new_p = realloc(real_p, new_n);
- if (new_p == NULL) return NULL;
+ new_p = realloc(real_p, new_n);
+ if (new_p == NULL) return NULL;
}
((size_t *)new_p)[0] = new_n; /* Includes header size */
return (void *)((char *)new_p + header_size);
- }
+ }
}
void otrl_mem_init(void)
{
- header_size = 8;
+ header_size = 8;
#ifdef OTRL_MEM_MAGIC
- if (header_size < 2*sizeof(size_t)) {
+ if (header_size < 2*sizeof(size_t)) {
header_size = 2*sizeof(size_t);
- }
+ }
#else
- if (header_size < sizeof(size_t)) {
+ if (header_size < sizeof(size_t)) {
header_size = sizeof(size_t);
- }
+ }
#endif
- gcry_set_allocation_handler(
- otrl_mem_malloc,
- otrl_mem_malloc,
- otrl_mem_is_secure,
- otrl_mem_realloc,
- otrl_mem_free
+ gcry_set_allocation_handler(
+ otrl_mem_malloc,
+ otrl_mem_malloc,
+ otrl_mem_is_secure,
+ otrl_mem_realloc,
+ otrl_mem_free
);
}