Fix small buffer overflow on the diameters file string
This commit is contained in:
parent
80a2afb675
commit
53cdcc592f
|
|
@ -63,10 +63,13 @@ int main(int argc, char** argv)
|
||||||
create_user_dir("/.config/");
|
create_user_dir("/.config/");
|
||||||
create_user_dir("/.cache/");
|
create_user_dir("/.cache/");
|
||||||
char* config_file_str = ( char* ) malloc(1 + strlen(home_dir_str) + strlen("/.config/") + strlen("monocoque/monocoque.config"));
|
char* config_file_str = ( char* ) malloc(1 + strlen(home_dir_str) + strlen("/.config/") + strlen("monocoque/monocoque.config"));
|
||||||
size_t diameters_file_sz = 1 + strlen(home_dir_str) + strlen("/.config/") + strlen("monocoque/diameters.config");
|
|
||||||
char* diameters_file_str = ( char* ) malloc(1 + strlen(home_dir_str) + strlen("/.config/") + strlen("monocoque/diameters.json"));
|
size_t diameters_file_sz = snprintf(NULL, 0, "%s/.config/monocoque/diameters.config", home_dir_str);
|
||||||
|
diameters_file_sz += 1;
|
||||||
|
char* diameters_file_str = ( char* ) malloc(diameters_file_sz);
|
||||||
snprintf(diameters_file_str, diameters_file_sz, "%s/.config/monocoque/diameters.config", home_dir_str);
|
snprintf(diameters_file_str, diameters_file_sz, "%s/.config/monocoque/diameters.config", home_dir_str);
|
||||||
|
|
||||||
|
|
||||||
char* cache_dir_str = ( char* ) malloc(1 + strlen(home_dir_str) + strlen("/.cache/monocoque/"));
|
char* cache_dir_str = ( char* ) malloc(1 + strlen(home_dir_str) + strlen("/.cache/monocoque/"));
|
||||||
strcpy(config_file_str, home_dir_str);
|
strcpy(config_file_str, home_dir_str);
|
||||||
strcat(config_file_str, "/.config/");
|
strcat(config_file_str, "/.config/");
|
||||||
|
|
@ -103,6 +106,7 @@ int main(int argc, char** argv)
|
||||||
free(diameters_file_str);
|
free(diameters_file_str);
|
||||||
|
|
||||||
slogi("Loading configuration file: %s", config_file_str);
|
slogi("Loading configuration file: %s", config_file_str);
|
||||||
|
slogd("using diameters file %s", ms->tyre_diameter_config);
|
||||||
config_t cfg;
|
config_t cfg;
|
||||||
config_init(&cfg);
|
config_init(&cfg);
|
||||||
config_setting_t* config_devices = NULL;
|
config_setting_t* config_devices = NULL;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue