parent_dir = tmp;
}
- ret = snprintf(snaps_path, sizeof(snaps_path), "%s/%s",
- parent_dir, snapdir);
+ if (strlen(parent_dir) == 0) {
+ ret = strlcpy(snaps_path, snapdir, sizeof(snaps_path));
+ } else {
+ ret = snprintf(snaps_path, sizeof(snaps_path), "%s/%s",
+ parent_dir, snapdir);
+ }
if (ret >= sizeof(snaps_path)) {
ret = -EINVAL;
goto err_out;
/*
* Temporally use the caller's return buffer for this.
*/
- ret = snprintf(_converted_buf, buflen, "%s/%s", name, snapdir);
+ if (strlen(name) == 0) {
+ ret = strlcpy(_converted_buf, snapdir, buflen);
+ } else {
+ ret = snprintf(_converted_buf, buflen, "%s/%s", name, snapdir);
+ }
if (ret >= buflen) {
ret = -EINVAL;
goto err_out;