Skip to content

Commit 116355a

Browse files
committed
pkg/manager: deserialize and serialize uploaded prog
1 parent 687cba0 commit 116355a

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

pkg/manager/http.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -761,9 +761,20 @@ func (serv *HTTPServer) httpAddInput(w http.ResponseWriter, r *http.Request) {
761761
data := scanner.Bytes()
762762
progData = append(progData, data...)
763763
}
764-
sig := hash.String(progData)
764+
target, err := prog.GetTarget(serv.Cfg.TargetOS, serv.Cfg.TargetArch)
765+
if err != nil {
766+
http.Error(w, fmt.Sprintf("failed to find target: %v", err), http.StatusBadRequest)
767+
return
768+
}
769+
p, err := target.Deserialize(progData, prog.NonStrict)
770+
if err != nil {
771+
http.Error(w, fmt.Sprintf("failed to deserialize prog: %v", err), http.StatusBadRequest)
772+
return
773+
}
774+
data := p.Serialize()
775+
sig := hash.String(data)
765776
if serv.CorpusDB != nil {
766-
serv.CorpusDB.Save(sig, progData, 0)
777+
serv.CorpusDB.Save(sig, data, 0)
767778
serv.CorpusDB.Flush()
768779
}
769780
w.Write([]byte("File uploaded successfully\n"))

0 commit comments

Comments
 (0)