From 97f99ce19f0efbe2a63029931bc5667a5a3e43f3 Mon Sep 17 00:00:00 2001
From: Vivek Naik <naikvivek1993@gmaial.com>
Date: Fri, 13 Mar 2020 16:43:34 +0530
Subject: [PATCH] fix: pack importpath issue

---
 dalmdl/corefdb/bucket.go | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/dalmdl/corefdb/bucket.go b/dalmdl/corefdb/bucket.go
index 8bd54b3..4228b42 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)
-- 
GitLab