From 48bd5b8128ce187fb31de97323b0f7040c00b11e Mon Sep 17 00:00:00 2001 From: billow Date: Sat, 21 Oct 2023 16:33:13 +0800 Subject: [PATCH] Fix --- librz/bin/dwarf/line_str.c | 5 ++++- librz/bin/dwarf/str.c | 2 +- librz/bin/dwarf/str_offsets.c | 4 +++- librz/include/rz_bin_dwarf.h | 10 ++++++---- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/librz/bin/dwarf/line_str.c b/librz/bin/dwarf/line_str.c index fde8e1a2159..883e6e7fee5 100644 --- a/librz/bin/dwarf/line_str.c +++ b/librz/bin/dwarf/line_str.c @@ -7,14 +7,17 @@ RZ_API RZ_OWN RzBinDwarfLineStr *rz_bin_dwarf_line_str_new(RZ_NONNULL RZ_OWN RzBinEndianReader *reader) { return rz_bin_dwarf_str_new(reader); } + RZ_API RZ_OWN RzBinDwarfLineStr *rz_bin_dwarf_line_str_from_file(RZ_NONNULL RZ_BORROW RzBinFile *bf) { RzBinEndianReader *r = RzBinEndianReader_from_file(bf, ".debug_line_str", false); RET_NULL_IF_FAIL(r); return rz_bin_dwarf_str_new(r); } -RZ_API void rz_bin_dwarf_line_str_free(RzBinDwarfLineStr *str) { + +RZ_API void rz_bin_dwarf_line_str_free(RZ_NULLABLE RzBinDwarfLineStr *str) { rz_bin_dwarf_str_free(str); } + RZ_API RZ_BORROW const char *rz_bin_dwarf_line_str_get(RZ_NONNULL RZ_BORROW RzBinDwarfLineStr *str, ut64 offset) { return rz_bin_dwarf_str_get(str, offset); } diff --git a/librz/bin/dwarf/str.c b/librz/bin/dwarf/str.c index c755282230a..5ec0c9f69f0 100644 --- a/librz/bin/dwarf/str.c +++ b/librz/bin/dwarf/str.c @@ -27,7 +27,7 @@ RZ_API RZ_OWN RzBinDwarfStr *rz_bin_dwarf_str_from_file(RZ_NONNULL RZ_BORROW RzB return rz_bin_dwarf_str_new(r); } -RZ_API void rz_bin_dwarf_str_free(RZ_NONNULL RzBinDwarfStr *str) { +RZ_API void rz_bin_dwarf_str_free(RZ_NULLABLE RzBinDwarfStr *str) { if (!str) { return; } diff --git a/librz/bin/dwarf/str_offsets.c b/librz/bin/dwarf/str_offsets.c index b7ddf378297..07ba9df8af2 100644 --- a/librz/bin/dwarf/str_offsets.c +++ b/librz/bin/dwarf/str_offsets.c @@ -42,7 +42,9 @@ RZ_API void rz_bin_dwarf_str_offsets_free(RZ_NULLABLE RzBinDwarfStrOffsets *str_ } RZ_API RZ_BORROW const char *rz_bin_dwarf_str_offsets_get( - RzBinDwarfStr *str, RzBinDwarfStrOffsets *str_offsets, ut64 base, ut64 index) { + RZ_NONNULL RZ_BORROW RzBinDwarfStr *str, + RZ_NONNULL RZ_BORROW RzBinDwarfStrOffsets *str_offsets, + ut64 base, ut64 index) { rz_return_val_if_fail(str && str_offsets && index >= 0, NULL); RzBinEndianReader *reader = str_offsets->reader; ut64 offset = 0; diff --git a/librz/include/rz_bin_dwarf.h b/librz/include/rz_bin_dwarf.h index 2539a68680f..a6e098a6ecd 100644 --- a/librz/include/rz_bin_dwarf.h +++ b/librz/include/rz_bin_dwarf.h @@ -1449,21 +1449,23 @@ RZ_API const char *rz_bin_dwarf_op(DW_OP op); /// .debug_str RZ_API RZ_OWN RzBinDwarfStr *rz_bin_dwarf_str_new(RZ_NONNULL RZ_OWN RzBinEndianReader *reader); RZ_API RZ_OWN RzBinDwarfStr *rz_bin_dwarf_str_from_file(RZ_NONNULL RZ_BORROW RzBinFile *bf, bool is_dwo); -RZ_API void rz_bin_dwarf_str_free(RzBinDwarfStr *str); +RZ_API void rz_bin_dwarf_str_free(RZ_NULLABLE RzBinDwarfStr *str); RZ_API RZ_BORROW const char *rz_bin_dwarf_str_get(RZ_NONNULL RZ_BORROW RzBinDwarfStr *str, ut64 offset); RZ_API RZ_OWN RzBinDwarfLineStr *rz_bin_dwarf_line_str_new(RZ_NONNULL RZ_OWN RzBinEndianReader *reader); RZ_API RZ_OWN RzBinDwarfLineStr *rz_bin_dwarf_line_str_from_file(RZ_NONNULL RZ_BORROW RzBinFile *bf); -RZ_API void rz_bin_dwarf_line_str_free(RzBinDwarfLineStr *str); +RZ_API void rz_bin_dwarf_line_str_free(RZ_NULLABLE RzBinDwarfLineStr *str); RZ_API RZ_BORROW const char *rz_bin_dwarf_line_str_get(RZ_NONNULL RZ_BORROW RzBinDwarfLineStr *str, ut64 offset); /// .debug_str_offsets RZ_API RZ_OWN RzBinDwarfStrOffsets *rz_bin_dwarf_str_offsets_new(RZ_NONNULL RZ_OWN RzBinEndianReader *reader); RZ_API RZ_OWN RzBinDwarfStrOffsets *rz_bin_dwarf_str_offsets_from_file( RZ_NONNULL RZ_BORROW RzBinFile *bf, bool is_dwo); -RZ_API void rz_bin_dwarf_str_offsets_free(RzBinDwarfStrOffsets *str_offsets); +RZ_API void rz_bin_dwarf_str_offsets_free(RZ_NULLABLE RzBinDwarfStrOffsets *str_offsets); RZ_API RZ_BORROW const char *rz_bin_dwarf_str_offsets_get( - RzBinDwarfStr *str, RzBinDwarfStrOffsets *str_offsets, ut64 base, ut64 index); + RZ_NONNULL RZ_BORROW RzBinDwarfStr *str, + RZ_NONNULL RZ_BORROW RzBinDwarfStrOffsets *str_offsets, + ut64 base, ut64 index); /// .debug_aranges RZ_API RZ_OWN RzBinDwarfARanges *rz_bin_dwarf_aranges_new(RZ_NONNULL RZ_OWN RzBinEndianReader *reader);