trying to patch segfault mmap
This commit is contained in:
parent
40e3e0543a
commit
468341d34e
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,2 +1,3 @@
|
||||||
build
|
build
|
||||||
*.so
|
*.so
|
||||||
|
main
|
||||||
|
|
|
@ -7,3 +7,4 @@
|
||||||
-iquoteinc
|
-iquoteinc
|
||||||
-iquotelib
|
-iquotelib
|
||||||
-fPIC
|
-fPIC
|
||||||
|
-g
|
||||||
|
|
|
@ -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
12
main.c
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
6
main.sh
6
main.sh
|
@ -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
|
||||||
|
|
14
src/malloc.c
14
src/malloc.c
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue