From 9d69ec2782d2aaf4c0c13c64bb8ae5c095cee747 Mon Sep 17 00:00:00 2001 From: swym <0xfd000000@gmail.com> Date: Tue, 27 Aug 2019 23:08:15 +0200 Subject: [PATCH] card10.cfg: use strdup instead of memcpy for strings --- epicardium/meson.build | 2 +- epicardium/modules/config.c | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/epicardium/meson.build b/epicardium/meson.build index cf67023b..a6a6c052 100644 --- a/epicardium/meson.build +++ b/epicardium/meson.build @@ -70,7 +70,7 @@ subdir('ble/') subdir('l0der/') -epicardium_cargs = [] +epicardium_cargs = ['-D_POSIX_C_SOURCE=200809'] if get_option('jailbreak_card10') epicardium_cargs += [ '-DJAILBREAK_CARD10=1', diff --git a/epicardium/modules/config.c b/epicardium/modules/config.c index 2c41f814..47396e21 100644 --- a/epicardium/modules/config.c +++ b/epicardium/modules/config.c @@ -125,10 +125,7 @@ const char *elide(const char *str) static bool set_string(struct config_option *opt, const char *value) { //this leaks, but the lifetime of these ends when epicardium exits, so... - size_t len = strlen(value); - char *leaks = (char *)malloc(len + 1); - strncpy(leaks, value, len); - leaks[len] = '\0'; + char *leaks = strdup(value); opt->value.string = leaks; LOG_DEBUG("card10.cfg", "setting '%s' to %s", opt->name, elide(leaks)); return true; -- GitLab