trying to patch segfault mmap

This commit is contained in:
Xamora 2025-02-19 22:15:36 +01:00
parent 40e3e0543a
commit 468341d34e
6 changed files with 28 additions and 10 deletions

1
.gitignore vendored
View file

@ -1,2 +1,3 @@
build build
*.so *.so
main

View file

@ -7,3 +7,4 @@
-iquoteinc -iquoteinc
-iquotelib -iquotelib
-fPIC -fPIC
-g

View file

@ -4,9 +4,9 @@
#include <unistd.h> #include <unistd.h>
#include <sys/resource.h> #include <sys/resource.h>
/*typedef struct { typedef struct {
u16 byte; u16 byte;
} meta_t ;*/ } meta_t ;
void free(void *ptr); void free(void *ptr);
void *malloc(size_t size); void *malloc(size_t size);

12
main.c
View file

@ -1,9 +1,15 @@
#include <stddef.h> #include "lib/libft/libft.h"
#include "inc/malloc.h" #include "inc/malloc.h"
#include "lib/ft_printf/ft_printf.h"
int int
main(void) { main(void) {
void* test = malloc(4); char* test = malloc(11);
(void)test; if (!test)
return 1;
for (int i = 0; i < 11; i++)
test[i] = i + 32;
ft_printf(test);
free(test);
return 0; return 0;
} }

View file

@ -1,2 +1,4 @@
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/
gcc main.c -L. -lft_malloc -o main gcc main.c -L. -lft_malloc -g -o main lib/lib.a
./main
#rm main

View file

@ -1,12 +1,20 @@
#include <stdio.h>
#include <errno.h>
char *memory = nullptr; char *memory = nullptr;
void * void *
malloc(size_t size) { malloc(size_t size) {
if (!memory) if (!memory) {
memory = mmap(nullptr, 4096 * 10, 0, PROT_READ | PROT_WRITE, 0, 0); memory = mmap(nullptr, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, 0, 0);
if (memory == MAP_FAILED) {
printf("%d\n", errno);
//ft_printf_fd(2, "Error mmap\n");
//return NULL;
}
}
for (size_t i = 0; i < size; i++) { for (size_t i = 0; i < size; i++) {
ft_printf("test"); //ft_printf("test");
} }
return memory; return memory;