Skip to content

gobelinor/secmalloc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My_secmalloc

Ce projet consiste à développer une bibliothèque d'allocation de mémoire sécurisée en C, qui remplace les fonctions standards telles que malloc, free, calloc et realloc en utilisant le principe de TDD.

Auteurs

Fonctionnalités

Le projet met l'accent sur la sécurité plutôt que sur la performance, avec des fonctions d'allocation qui intègrent des vérifications de sécurité pour détecter les erreurs courantes de gestion de mémoire. Les fonctionnalités incluent :

  • Allocation (malloc), libération (free), allocation zéro-initialisée (calloc) et redimensionnement (realloc)
  • Rapports d'exécution qui tracent les appels de fonction, les tailles des blocs alloués et les adresses.

Pré-requis

Pour installer les pré-requis nécessaires à la compilation et aux tests, exécutez les commandes suivantes :

sudo apt install gcovr
sudo apt install criterion

Compilation, Tests et Utilisations

Pour compiler le projet et exécuter les tests, utilisez les commandes suivantes :

make clean all
make clean test
make clean testcovr
make clean test_lucien

Les tests utilisent la bibliothèque Criterion pour les assertions et sont configurés pour couvrir divers scénarios d'allocation et de libération de mémoire.

Pour stocker les logs de l'executions dans un fichier log_file.txt :

export MSM_OUTPUT="log_file.txt"

Pour compiler une bibliotèque dynamique et lancer ls ou sh avec les implementations des fonctions d'allocations de ce projet.

make clean dynamic
LD_PRELOAD=./build/lib/libmy_secmalloc.so ls
LD_PRELOAD=./build/lib/libmy_secmalloc.so sh

About

simple memory allocation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published