#endif
{
void *ret;
- if (a)
- {
- struct gc_entry *e;
-#ifdef DMALLOC
- e = (struct gc_entry *) openvpn_dmalloc (file, line, size + sizeof (struct gc_entry));
-#else
- e = (struct gc_entry *) malloc (size + sizeof (struct gc_entry));
-#endif
- check_malloc_return (e);
- ret = (char *) e + sizeof (struct gc_entry);
- e->next = a->list;
- a->list = e;
- }
- else
- {
+ ASSERT (NULL != a);
+
+ struct gc_entry *e;
#ifdef DMALLOC
- ret = openvpn_dmalloc (file, line, size);
+ e = (struct gc_entry *) openvpn_dmalloc (file, line, size + sizeof (struct gc_entry));
#else
- ret = malloc (size);
+ e = (struct gc_entry *) malloc (size + sizeof (struct gc_entry));
#endif
- check_malloc_return (ret);
- }
+ check_malloc_return (e);
+ ret = (char *) e + sizeof (struct gc_entry);
+ e->next = a->list;
+ a->list = e;
+
#ifndef ZERO_BUFFER_ON_ALLOC
if (clear)
#endif