@@ -248,7 +248,7 @@ static bool read_core_segments(struct ps_prochandle* ph) {
248
248
print_debug ("failed to read LC_SEGMENT_64 i = %d!\n" , i );
249
249
goto err ;
250
250
}
251
- if (add_map_info (ph , fd , segcmd .fileoff , segcmd .vmaddr , segcmd .vmsize ) == NULL ) {
251
+ if (add_map_info (ph , fd , segcmd .fileoff , segcmd .vmaddr , segcmd .vmsize , segcmd . flags ) == NULL ) {
252
252
print_debug ("Failed to add map_info at i = %d\n" , i );
253
253
goto err ;
254
254
}
@@ -788,7 +788,7 @@ static bool read_core_segments(struct ps_prochandle* ph, ELF_EHDR* core_ehdr) {
788
788
case PT_LOAD : {
789
789
if (core_php -> p_filesz != 0 ) {
790
790
if (add_map_info (ph , ph -> core -> core_fd , core_php -> p_offset ,
791
- core_php -> p_vaddr , core_php -> p_filesz ) == NULL ) goto err ;
791
+ core_php -> p_vaddr , core_php -> p_filesz , core_php -> p_flags ) == NULL ) goto err ;
792
792
}
793
793
break ;
794
794
}
@@ -827,7 +827,7 @@ static bool read_lib_segments(struct ps_prochandle* ph, int lib_fd, ELF_EHDR* li
827
827
828
828
if (existing_map == NULL ){
829
829
if (add_map_info (ph , lib_fd , lib_php -> p_offset ,
830
- target_vaddr , lib_php -> p_filesz ) == NULL ) {
830
+ target_vaddr , lib_php -> p_filesz , lib_php -> p_flags ) == NULL ) {
831
831
goto err ;
832
832
}
833
833
} else {
@@ -893,7 +893,7 @@ static bool read_exec_segments(struct ps_prochandle* ph, ELF_EHDR* exec_ehdr) {
893
893
case PT_LOAD : {
894
894
// add only non-writable segments of non-zero filesz
895
895
if (!(exec_php -> p_flags & PF_W ) && exec_php -> p_filesz != 0 ) {
896
- if (add_map_info (ph , ph -> core -> exec_fd , exec_php -> p_offset , exec_php -> p_vaddr , exec_php -> p_filesz ) == NULL ) goto err ;
896
+ if (add_map_info (ph , ph -> core -> exec_fd , exec_php -> p_offset , exec_php -> p_vaddr , exec_php -> p_filesz , exec_php -> p_flags ) == NULL ) goto err ;
897
897
}
898
898
break ;
899
899
}
0 commit comments