From 370a92172b8dbf0fd514810a280b238ade733485 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 16 Dec 2017 12:15:42 +0100 Subject: Use mkstemp instead of tmpnam --- test/test.lv2/test.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'test') diff --git a/test/test.lv2/test.c b/test/test.lv2/test.c index 37d29c1..3fbef66 100644 --- a/test/test.lv2/test.c +++ b/test/test.lv2/test.c @@ -1,6 +1,6 @@ /* Lilv Test Plugin - Copyright 2011-2015 David Robillard + Copyright 2011-2017 David Robillard Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above @@ -15,6 +15,8 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#define _POSIX_C_SOURCE 200809L + #include #include #include @@ -27,6 +29,8 @@ #define TEST_URI "http://example.org/lilv-test-plugin" +#define TMP_TEMPLATE "lilv_testXXXXXX" + enum { TEST_INPUT = 0, TEST_OUTPUT = 1, @@ -40,7 +44,7 @@ typedef struct { LV2_URID atom_Float; } uris; - char* tmp_file_path; + char tmp_file_path[sizeof(TMP_TEMPLATE)]; char* rec_file_path; FILE* rec_file; @@ -56,7 +60,6 @@ cleanup(LV2_Handle instance) if (test->rec_file) { fclose(test->rec_file); } - free(test->tmp_file_path); free(test->rec_file_path); free(instance); } @@ -88,20 +91,13 @@ instantiate(const LV2_Descriptor* descriptor, const char* path, const LV2_Feature* const* features) { - Test* test = (Test*)malloc(sizeof(Test)); + Test* test = (Test*)calloc(1, sizeof(Test)); if (!test) { return NULL; } - test->map = NULL; - test->input = NULL; - test->output = NULL; - test->num_runs = 0; - test->tmp_file_path = (char*)malloc(L_tmpnam); - test->rec_file_path = NULL; - test->rec_file = NULL; - - tmpnam(test->tmp_file_path); + strcpy(test->tmp_file_path, TMP_TEMPLATE); + mkstemp(test->tmp_file_path); LV2_State_Make_Path* make_path = NULL; -- cgit v1.2.1