From 2b71e842c7f9a7a2130e9516ab0f900d41f1fc48 Mon Sep 17 00:00:00 2001 From: midipix Date: Tue, 26 May 2015 22:39:10 -0400 Subject: pe_map_raw_image: accept page protection as an argument. --- include/perk/perk.h | 2 +- src/main/pe_map_raw_image.c | 4 ++-- src/main/perk.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/perk/perk.h b/include/perk/perk.h index 11b5f45..c6aeed7 100644 --- a/include/perk/perk.h +++ b/include/perk/perk.h @@ -74,7 +74,7 @@ struct pe_image_meta { perk_api int pe_output_export_symbols (const struct pe_image_meta *, uint32_t flags, FILE *); /* high-level api */ -perk_api int pe_map_raw_image (int fd, const char * name, struct pe_raw_image *); +perk_api int pe_map_raw_image (int fd, const char * name, int prot, struct pe_raw_image *); perk_api int pe_unmap_raw_image (struct pe_raw_image *); perk_api int pe_get_image_meta (const struct pe_raw_image *, struct pe_image_meta **); diff --git a/src/main/pe_map_raw_image.c b/src/main/pe_map_raw_image.c index dc37e35..bf21a9b 100644 --- a/src/main/pe_map_raw_image.c +++ b/src/main/pe_map_raw_image.c @@ -9,7 +9,7 @@ #include -int pe_map_raw_image (int fd, const char * fname, struct pe_raw_image * map) +int pe_map_raw_image (int fd, const char * fname, int prot, struct pe_raw_image * map) { struct stat stat; int nfd, ret; @@ -21,7 +21,7 @@ int pe_map_raw_image (int fd, const char * fname, struct pe_raw_image * map) return errno; map->size = stat.st_size; - map->addr = (char *)mmap(0,map->size,PROT_READ,MAP_PRIVATE,fd,0); + map->addr = (char *)mmap(0,map->size,prot,MAP_PRIVATE,fd,0); if (map->addr == MAP_FAILED) { map->addr = 0; diff --git a/src/main/perk.c b/src/main/perk.c index d66b9ae..94be294 100644 --- a/src/main/perk.c +++ b/src/main/perk.c @@ -65,7 +65,7 @@ static int perk_map_input(struct perk_ctx * ctx) return ctx->status; } - ctx->status = pe_map_raw_image(ctx->fd,0,&ctx->map); + ctx->status = pe_map_raw_image(ctx->fd,0,PROT_READ,&ctx->map); return ctx->status; } -- cgit v1.2.3