diff options
author | Thomas White <taw@physics.org> | 2021-07-21 11:51:56 +0200 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2021-07-21 15:34:31 +0200 |
commit | 6d94d4115c254d344bbb927596a7141ef39fd298 (patch) | |
tree | 652d07c4d6a9521c9359aa13bbda27309f53e6f8 /src/cl-utils.c | |
parent | 50cf52b0bc0baa683b9508568131a3f6281bf4ff (diff) |
Add missing cleanup on error paths
Diffstat (limited to 'src/cl-utils.c')
-rw-r--r-- | src/cl-utils.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/cl-utils.c b/src/cl-utils.c index ec449435..c2c1bf1d 100644 --- a/src/cl-utils.c +++ b/src/cl-utils.c @@ -283,7 +283,10 @@ cl_program load_program_from_string(const char *source_in, size_t len, char *source2; source2 = malloc(strlen(source)+strlen(insert_stuff)+1); - if ( source2 == NULL ) return 0; + if ( source2 == NULL ) { + free(source); + return 0; + } il = insert_pos - source; memcpy(source2, source, il); @@ -336,7 +339,10 @@ cl_program load_program(const char *filename, cl_context ctx, return 0; } source = malloc(16384); - if ( source == NULL ) return 0; + if ( source == NULL ) { + fclose(fh); + return 0; + } len = fread(source, 1, 16383, fh); fclose(fh); |