Skip to content

Commit 57a66d6

Browse files
committed
bind: Only free string during exception handling if non-NULL
1 parent 2b38837 commit 57a66d6

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

bind/gen.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -234,9 +234,8 @@ def add_checked_function(mod, name, retval, params, failure_expression='', *a, *
234234
235235
def add_checked_string_function(mod, name, retval, params, failure_expression='', *a, **kw):
236236
fn = CheckedFunction(name, retval, params, *a, **kw)
237-
cleanup = 'free(retval);'
238-
fn.set_failure_cleanup(cleanup)
239-
fn.after_call.add_cleanup_code(cleanup)
237+
fn.set_failure_cleanup('if (retval != NULL) free(retval);')
238+
fn.after_call.add_cleanup_code('free(retval);')
240239
fn.set_failure_expression(failure_expression)
241240
mod._add_function_obj(fn)
242241
return fn

0 commit comments

Comments
 (0)