forked from gitea/gitea
		
	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:
		
							parent
							
								
									4cc8697a65
								
							
						
					
					
						commit
						25b7766673
					
				| @ -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 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 zeripath
						zeripath