server: verify digest is not empty on create (#14555)

An empty digest is not a valid digest for an incoming create request. Reject empty digests at the api level.
This commit is contained in:
Bruce MacDonald
2026-03-02 13:43:35 -08:00
committed by GitHub
parent 86513cb697
commit 23d4cad1a2
2 changed files with 43 additions and 1 deletions

View File

@@ -65,11 +65,22 @@ func (s *Server) CreateHandler(c *gin.Context) {
config.Parser = r.Parser
config.Requires = r.Requires
for v := range r.Files {
for v, digest := range r.Files {
if !fs.ValidPath(v) {
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": errFilePath.Error()})
return
}
if digest == "" {
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": manifest.ErrInvalidDigestFormat.Error()})
return
}
}
for _, digest := range r.Adapters {
if digest == "" {
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": manifest.ErrInvalidDigestFormat.Error()})
return
}
}
name := model.ParseName(cmp.Or(r.Model, r.Name))