mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2025-03-11 15:34:56 +00:00
app/vmstorage: fix potential file inclusion via variable (#3339)
* app/vmstorage: fix potential file inclusion via variable * app/vmstorage: cleanup
This commit is contained in:
parent
f67c2a2f8f
commit
6f7956503f
1 changed files with 18 additions and 3 deletions
|
@ -241,12 +241,27 @@ func requestHandler(w http.ResponseWriter, r *http.Request, strg *storage.Storag
|
||||||
case "/delete":
|
case "/delete":
|
||||||
w.Header().Set("Content-Type", "application/json")
|
w.Header().Set("Content-Type", "application/json")
|
||||||
snapshotName := r.FormValue("snapshot")
|
snapshotName := r.FormValue("snapshot")
|
||||||
if err := strg.DeleteSnapshot(snapshotName); err != nil {
|
|
||||||
err = fmt.Errorf("cannot delete snapshot %q: %w", snapshotName, err)
|
snapshots, err := strg.ListSnapshots()
|
||||||
|
if err != nil {
|
||||||
|
err = fmt.Errorf("cannot list snapshots: %w", err)
|
||||||
jsonResponseError(w, err)
|
jsonResponseError(w, err)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
fmt.Fprintf(w, `{"status":"ok"}`)
|
for _, snName := range snapshots {
|
||||||
|
if snName == snapshotName {
|
||||||
|
if err := strg.DeleteSnapshot(snName); err != nil {
|
||||||
|
err = fmt.Errorf("cannot delete snapshot %q: %w", snName, err)
|
||||||
|
jsonResponseError(w, err)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
fmt.Fprintf(w, `{"status":"ok"}`)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
err = fmt.Errorf("cannot find snapshot %q: %w", snapshotName, err)
|
||||||
|
jsonResponseError(w, err)
|
||||||
return true
|
return true
|
||||||
case "/delete_all":
|
case "/delete_all":
|
||||||
w.Header().Set("Content-Type", "application/json")
|
w.Header().Set("Content-Type", "application/json")
|
||||||
|
|
Loading…
Reference in a new issue