diff --git a/src/tsdb/src/tsdbFile.c b/src/tsdb/src/tsdbFile.c index 71d88ff29eab369c400c9f85c34d296afa8b4f3d..5ba9a68e37f2f18e25f1c73208eec124c22e35bf 100644 --- a/src/tsdb/src/tsdbFile.c +++ b/src/tsdb/src/tsdbFile.c @@ -128,7 +128,11 @@ int tsdbOpenFileH(STsdbRepo *pRepo) { code = regexec(®ex2, dp->d_name, 0, NULL, 0); if (code == 0) { tsdbDebug("vgId:%d invalid file %s exists, remove it", REPO_ID(pRepo), dp->d_name); - remove(dp->d_name); + char *fname = malloc(strlen(tDataDir) + strlen(dp->d_name) + 2); + if (fname == NULL) goto _err; + sprintf(fname, "%s/%s", tDataDir, dp->d_name); + remove(fname); + free(fname); } else if (code == REG_NOMATCH) { tsdbError("vgId:%d invalid file %s exists, ignore it", REPO_ID(pRepo), dp->d_name); continue;