MEM: introduce use our own ntru_malloc() function

Use this instead of malloc().
This commit is contained in:
hasufell 2014-04-20 19:50:49 +02:00
parent 302cd5e4d8
commit ece632b5c2
No known key found for this signature in database
GPG Key ID: 220CD1C5BDEED020
3 changed files with 79 additions and 1 deletions

48
src/mem.c Normal file
View File

@ -0,0 +1,48 @@
/*
* Copyright (C) 2014 FH Bielefeld
*
* This file is part of a FH Bielefeld project.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
#include "mem.h"
#include <stdio.h>
#include <stdlib.h>
/**
* Allocate memory of size and return
* a void pointer.
*
* @param size of the memory to allocate in bytes
* @return void pointer to the beginning of the allocated memory block
*/
void *ntru_malloc(size_t size)
{
void *ptr;
ptr = malloc(size);
if (size)
if (!ptr) {
fprintf(stderr, "failed to allocate memory, aborting!");
abort();
}
return ptr;
}

29
src/mem.h Normal file
View File

@ -0,0 +1,29 @@
/*
* Copyright (C) 2014 FH Bielefeld
*
* This file is part of a FH Bielefeld project.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
#ifndef NTRU_MEM_H
#define NTRU_MEM_H
#include <stdlib.h>
void *ntru_malloc(size_t size);
#endif /* NTRU_MEM_H */

View File

@ -21,6 +21,7 @@
#include "context.h" #include "context.h"
#include "err.h" #include "err.h"
#include "mem.h"
#include "poly.h" #include "poly.h"
#include <stdbool.h> #include <stdbool.h>
@ -108,7 +109,7 @@ pb_poly *build_polynom(int const * const c,
pb_poly *new_poly; pb_poly *new_poly;
mp_int chara; mp_int chara;
new_poly = malloc(sizeof(*new_poly)); new_poly = ntru_malloc(sizeof(*new_poly));
init_integer(&chara); init_integer(&chara);
init_polynom_size(new_poly, &chara, len); init_polynom_size(new_poly, &chara, len);
mp_clear(&chara); mp_clear(&chara);