Fix memory leak upon failure to create matrix reader
authorJohn Darrington <john@darrington.wattle.id.au>
Sat, 2 Oct 2021 14:35:42 +0000 (16:35 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Sat, 2 Oct 2021 14:35:42 +0000 (16:35 +0200)
src/language/data-io/matrix-reader.c

index 589a2989fa9a2e78401388d39866d86cbe45de02..a9dd4f495274dc8dad54e78d797dfbe7252041aa 100644 (file)
@@ -353,7 +353,10 @@ cmd_debug_matrix_read (struct lexer *lexer, struct dataset *ds)
         mem_writer_create (dict_get_proto (dataset_dict (ds))));
       struct matrix_reader *mr = matrix_reader_create (dataset_dict (ds), cr);
       if (!mr)
-        return CMD_FAILURE;
+        {
+          casereader_destroy (cr);
+          return CMD_FAILURE;
+        }
       matrix_reader_destroy (mr);
       return CMD_SUCCESS;
     }