mirror of
https://github.com/radareorg/radare2.git
synced 2025-02-01 19:23:04 +00:00
fixed a bug in the annotations parsing and interfaces parsing
This commit is contained in:
parent
b417f655da
commit
3fb12cddd1
@ -1881,7 +1881,7 @@ static RBinJavaInterfaceInfo* r_bin_java_read_next_interface_item(RBinJavaObj *b
|
|||||||
const ut8 * if_buf = buf + offset;
|
const ut8 * if_buf = buf + offset;
|
||||||
|
|
||||||
memcpy (idx, if_buf, 2);
|
memcpy (idx, if_buf, 2);
|
||||||
interface_obj = r_bin_java_interface_new (bin, if_buf+2, 2);
|
interface_obj = r_bin_java_interface_new (bin, if_buf, len-offset);
|
||||||
if (interface_obj)
|
if (interface_obj)
|
||||||
interface_obj->file_offset = offset;
|
interface_obj->file_offset = offset;
|
||||||
return interface_obj;
|
return interface_obj;
|
||||||
@ -4423,7 +4423,7 @@ static ut64 r_bin_java_synthetic_attr_calc_size(RBinJavaAttrInfo* attr) {
|
|||||||
R_API RBinJavaInterfaceInfo* r_bin_java_interface_new (RBinJavaObj *bin, const ut8 *buffer, ut64 sz) {
|
R_API RBinJavaInterfaceInfo* r_bin_java_interface_new (RBinJavaObj *bin, const ut8 *buffer, ut64 sz) {
|
||||||
RBinJavaInterfaceInfo *interface_obj = NULL;
|
RBinJavaInterfaceInfo *interface_obj = NULL;
|
||||||
|
|
||||||
interface_obj = (RBinJavaInterfaceInfo *) malloc (sizeof (RBinJavaInterfaceInfo));
|
interface_obj = R_NEW0(RBinJavaInterfaceInfo);
|
||||||
|
|
||||||
IFDBG eprintf("Parsing RBinJavaInterfaceInfo\n");
|
IFDBG eprintf("Parsing RBinJavaInterfaceInfo\n");
|
||||||
if(interface_obj == NULL) {
|
if(interface_obj == NULL) {
|
||||||
@ -4431,7 +4431,6 @@ R_API RBinJavaInterfaceInfo* r_bin_java_interface_new (RBinJavaObj *bin, const u
|
|||||||
return interface_obj;
|
return interface_obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset (interface_obj, 0, sizeof (RBinJavaInterfaceInfo));
|
|
||||||
if (buffer) {
|
if (buffer) {
|
||||||
interface_obj->class_info_idx = R_BIN_JAVA_USHORT (buffer, 0);
|
interface_obj->class_info_idx = R_BIN_JAVA_USHORT (buffer, 0);
|
||||||
interface_obj->cp_class = r_bin_java_get_item_from_bin_cp_list (bin, interface_obj->class_info_idx);
|
interface_obj->cp_class = r_bin_java_get_item_from_bin_cp_list (bin, interface_obj->class_info_idx);
|
||||||
@ -4441,7 +4440,7 @@ R_API RBinJavaInterfaceInfo* r_bin_java_interface_new (RBinJavaObj *bin, const u
|
|||||||
interface_obj->name = r_str_dup (NULL, "NULL");
|
interface_obj->name = r_str_dup (NULL, "NULL");
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
interface_obj->class_info_idx = 0xffff;
|
interface_obj->class_info_idx = 0;
|
||||||
interface_obj->name = r_str_dup (NULL, "NULL");
|
interface_obj->name = r_str_dup (NULL, "NULL");
|
||||||
}
|
}
|
||||||
return interface_obj;
|
return interface_obj;
|
||||||
@ -7365,7 +7364,8 @@ static RBinJavaElementValue* r_bin_java_element_value_new (ut8* buffer, ut64 sz,
|
|||||||
return element_value;
|
return element_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset (element_value, 0, sizeof (RBinJavaElementValue));
|
element_value = R_NEW0 (RBinJavaElementValue);
|
||||||
|
element_value->metas = R_NEW0 (RBinJavaMetaInfo);
|
||||||
element_value->file_offset = buf_offset;
|
element_value->file_offset = buf_offset;
|
||||||
element_value->tag = buffer[offset];
|
element_value->tag = buffer[offset];
|
||||||
element_value->size += 1;
|
element_value->size += 1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user