From 24596b27315d7a559743686dd858bf88e8f371ba Mon Sep 17 00:00:00 2001 From: lemoer Date: Thu, 21 May 2020 17:57:56 +0200 Subject: [PATCH] fixup --- package/libgluonutil/src/libgluonutil.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/package/libgluonutil/src/libgluonutil.c b/package/libgluonutil/src/libgluonutil.c index 2676624b..e7a88fd1 100644 --- a/package/libgluonutil/src/libgluonutil.c +++ b/package/libgluonutil/src/libgluonutil.c @@ -225,22 +225,25 @@ char * gluonutil_get_primary_domain(void) { const char *domain_path_fmt = "/lib/gluon/domains/%s.json"; char domain_path[strlen(domain_path_fmt) + strlen(domain_code)]; snprintf(domain_path, sizeof(domain_path), domain_path_fmt, domain_code); - free(domain_code); char primary_domain_path[PATH_MAX+1]; char *primary_domain_code; ssize_t len = readlink(domain_path, primary_domain_path, PATH_MAX); if (len < 0) { // EINVAL = file is not a symlink = the domain itself is the primary domain - if (errno != EINVAL) + if (errno != EINVAL) { + free(domain_code); return NULL; + } - primary_domain_code = basename(domain_path); - } else { - primary_domain_path[len] = '\0'; - primary_domain_code = basename(primary_domain_path); + return domain_code; } + free(domain_code); + + primary_domain_path[len] = '\0'; + primary_domain_code = basename(primary_domain_path); + char *ext_begin = strrchr(primary_domain_code, '.'); if (!ext_begin) return NULL;