Skip to content

Commit

Permalink
fix buffer overflow in pe.c
Browse files Browse the repository at this point in the history
  • Loading branch information
skuater authored and radare committed Jun 23, 2015
1 parent 6f7d511 commit 2a81645
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions libr/bin/format/pe/pe.c
Original file line number Diff line number Diff line change
Expand Up @@ -1698,7 +1698,7 @@ struct r_bin_pe_export_t* PE_(r_bin_pe_get_exports)(struct PE_(r_bin_pe_obj_t)*
PE_Word function_ordinal;
PE_VWord functions_paddr, names_paddr, ordinals_paddr, function_vaddr, name_vaddr, name_paddr;
char function_name[PE_NAME_LENGTH + 1], forwarder_name[PE_NAME_LENGTH + 1];
char dll_name[PE_NAME_LENGTH + 1], export_name[PE_NAME_LENGTH + 1];
char dll_name[PE_NAME_LENGTH + 1], export_name[256];
PE_(image_data_directory) *data_dir_export;
PE_VWord export_dir_vaddr ;
int n,i, export_dir_size;
Expand Down Expand Up @@ -1766,7 +1766,9 @@ struct r_bin_pe_export_t* PE_(r_bin_pe_get_exports)(struct PE_(r_bin_pe_obj_t)*
else { // no forwarder export
snprintf (forwarder_name, PE_NAME_LENGTH, "NONE");
}
snprintf (export_name, PE_NAME_LENGTH, "%s_%s", dll_name, function_name);
dll_name[PE_NAME_LENGTH]='\0';
function_name[PE_NAME_LENGTH]='\0';
snprintf (export_name, sizeof (export_name)-1, "%s_%s", dll_name, function_name);
exports[i].vaddr = function_vaddr;
exports[i].paddr = PE_(r_bin_pe_vaddr_to_paddr)(bin, function_vaddr);
exports[i].ordinal = function_ordinal;
Expand Down

0 comments on commit 2a81645

Please sign in to comment.