diff --git a/dalmdl/corefdb/bucket.go b/dalmdl/corefdb/bucket.go index 8bd54b337ec0158e1b268a21a925464ba63c2166..4228b421a98f06d0bb285894bb9f823e96a035af 100644 --- a/dalmdl/corefdb/bucket.go +++ b/dalmdl/corefdb/bucket.go @@ -3182,10 +3182,12 @@ func (z ZipExporter) DataExport() (err error) { } sourcePath := "" timeStamp := time.Now().Nanosecond() - targetBasePath := filepath.Join(filemdl.TempDir, strconv.Itoa(timeStamp)) - // loggermdl.LogDebug("targetBasePath", targetBasePath) - // filepathsToExport := []string{} - filteredKeyValMap, err := GetFDBIndexEntryMap(index, z.Queries) + targetBasePath, err := filepath.Abs(filepath.Join(filemdl.TempDir, strconv.Itoa(timeStamp))) + if err != nil { + loggermdl.LogError("failed to import data: ", err) + return errormdl.Wrap("invalid archived file") + } + filteredKeyValMap, err := index.GetEntriesByQueries(z.Queries) if err != nil { return err } @@ -3253,8 +3255,11 @@ func (z ZipImporter) DataImport() (err error) { return errormdl.Wrap("archive file not found at location: " + archivePath) } timeStamp := time.Now().Nanosecond() - pathToExtractZip := filepath.Join(filemdl.TempDir, strconv.Itoa(timeStamp)) - + pathToExtractZip, err := filepath.Abs(filepath.Join(filemdl.TempDir, strconv.Itoa(timeStamp))) + if err != nil { + loggermdl.LogError("failed to import data: ", err) + return errormdl.Wrap("invalid archived file") + } err = filemdl.Unzip(archivePath, pathToExtractZip) if err != nil { loggermdl.LogError("failed to import data: ", err) @@ -3506,7 +3511,11 @@ func (f FileImporter) DataImport() (err error) { } timeStamp := time.Now().Nanosecond() - tempDir := filepath.Join(filemdl.TempDir, strconv.Itoa(timeStamp)) + tempDir, err := filepath.Abs(filepath.Join(filemdl.TempDir, strconv.Itoa(timeStamp))) + if err != nil { + loggermdl.LogError("failed to import data: ", err) + return errormdl.Wrap("invalid archived file") + } err = filemdl.CopyDir(f.SourcePath, tempDir) if err != nil { loggermdl.LogError("failed to import data: ", err)