g_strlcpy(sdcard_img_path, sdcard_path, MAXBUFLEN);
g_strlcat(sdcard_img_path, sdcard_img_name, MAXBUFLEN);
LOG_TRACE("sdcard img path: [%s] length: %d\n", sdcard_img_path, strlen(sdcard_img_path));
+ g_free((void*)sdcard_path);
return sdcard_img_path;
}
return NULL;
#ifndef CONFIG_WIN32
const char *sdcard_path = g_strdup_printf("%s/", sdcard_abs_path);
#else
- const char *sdcard_path = g_strdup_printf("%s\\", sdcard_abs_path);
+ const char *sdcard_path;
+ int path_length = strnlen(sdcard_abs_path, sizeof(sdcard_abs_path));
+
+ if (sdcard_abs_path[path_length - 1] != '\\')
+ sdcard_path = g_strdup_printf("%s\\", sdcard_abs_path);
+ else
+ sdcard_path = g_strdup(sdcard_abs_path);
#endif
+ g_free((void*)sdcard_rel_path);
+
LOG_INFO("SD card path: %s\n", sdcard_path);
return sdcard_path;
}