mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	When handling errors in storageHandler check underlying error (#13178)
Unfortunately there was a mistake in #13164 which fails to handle os.PathError wrapping an os.ErrNotExist Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
		@@ -32,7 +32,7 @@ type minioObject struct {
 | 
			
		||||
func (m *minioObject) Stat() (os.FileInfo, error) {
 | 
			
		||||
	oi, err := m.Object.Stat()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
		return nil, convertMinioErr(err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return &minioFileInfo{oi}, nil
 | 
			
		||||
 
 | 
			
		||||
@@ -7,6 +7,7 @@ package routes
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"encoding/gob"
 | 
			
		||||
	"errors"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"io"
 | 
			
		||||
	"net/http"
 | 
			
		||||
@@ -127,7 +128,7 @@ func storageHandler(storageSetting setting.Storage, prefix string, objStore stor
 | 
			
		||||
			rPath := strings.TrimPrefix(req.RequestURI, "/"+prefix)
 | 
			
		||||
			u, err := objStore.URL(rPath, path.Base(rPath))
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				if err == os.ErrNotExist {
 | 
			
		||||
				if os.IsNotExist(err) || errors.Is(err, os.ErrNotExist) {
 | 
			
		||||
					log.Warn("Unable to find %s %s", prefix, rPath)
 | 
			
		||||
					ctx.Error(404, "file not found")
 | 
			
		||||
					return
 | 
			
		||||
@@ -160,7 +161,7 @@ func storageHandler(storageSetting setting.Storage, prefix string, objStore stor
 | 
			
		||||
		//If we have matched and access to release or issue
 | 
			
		||||
		fr, err := objStore.Open(rPath)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			if err == os.ErrNotExist {
 | 
			
		||||
			if os.IsNotExist(err) || errors.Is(err, os.ErrNotExist) {
 | 
			
		||||
				log.Warn("Unable to find %s %s", prefix, rPath)
 | 
			
		||||
				ctx.Error(404, "file not found")
 | 
			
		||||
				return
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user