diff options
author | Peter Zhu <peter@peterzhu.ca> | 2023-06-29 16:31:35 -0400 |
---|---|---|
committer | Peter Zhu <peter@peterzhu.ca> | 2023-06-30 09:13:31 -0400 |
commit | 58386814a7c7275f66ffa111175fca2fe307a1b5 (patch) | |
tree | 56bfd1daec3a6d83dfda64b569de1b9fbbb4d23c /regcomp.c | |
parent | 37a893d12915b8860f6880d6a0c2859e096ab4ff (diff) |
Don't check for null pointer in calls to free
According to the C99 specification section 7.20.3.2 paragraph 2:
> If ptr is a null pointer, no action occurs.
So we do not need to check that the pointer is a null pointer.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/8004
Diffstat (limited to 'regcomp.c')
-rw-r--r-- | regcomp.c | 19 |
1 files changed, 9 insertions, 10 deletions
@@ -195,8 +195,7 @@ unset_addr_list_init(UnsetAddrList* uslist, int size) static void unset_addr_list_end(UnsetAddrList* uslist) { - if (IS_NOT_NULL(uslist->us)) - xfree(uslist->us); + xfree(uslist->us); } static int @@ -5649,12 +5648,12 @@ extern void onig_free_body(regex_t* reg) { if (IS_NOT_NULL(reg)) { - if (IS_NOT_NULL(reg->p)) xfree(reg->p); - if (IS_NOT_NULL(reg->exact)) xfree(reg->exact); - if (IS_NOT_NULL(reg->int_map)) xfree(reg->int_map); - if (IS_NOT_NULL(reg->int_map_backward)) xfree(reg->int_map_backward); - if (IS_NOT_NULL(reg->repeat_range)) xfree(reg->repeat_range); - if (IS_NOT_NULL(reg->chain)) onig_free(reg->chain); + xfree(reg->p); + xfree(reg->exact); + xfree(reg->int_map); + xfree(reg->int_map_backward); + xfree(reg->repeat_range); + onig_free(reg->chain); #ifdef USE_NAMED_GROUP onig_names_free(reg); @@ -6001,8 +6000,8 @@ onig_compile(regex_t* reg, const UChar* pattern, const UChar* pattern_end, } onig_node_free(root); - if (IS_NOT_NULL(scan_env.mem_nodes_dynamic)) - xfree(scan_env.mem_nodes_dynamic); + xfree(scan_env.mem_nodes_dynamic); + return r; } |