mirror of https://github.com/Xhofe/alist
fix(alias): panic on nil pointer (close #4093)
parent
c77eebb035
commit
c0a6beecea
|
@ -83,7 +83,7 @@ func (d *Alias) list(ctx context.Context, dst, sub string) ([]model.Obj, error)
|
||||||
|
|
||||||
func (d *Alias) link(ctx context.Context, dst, sub string, args model.LinkArgs) (*model.Link, error) {
|
func (d *Alias) link(ctx context.Context, dst, sub string, args model.LinkArgs) (*model.Link, error) {
|
||||||
reqPath := stdpath.Join(dst, sub)
|
reqPath := stdpath.Join(dst, sub)
|
||||||
storage, err := fs.GetStorage(reqPath, &fs.GetStoragesArgs{NoLog: true})
|
storage, err := fs.GetStorage(reqPath, &fs.GetStoragesArgs{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,9 @@ type ListArgs struct {
|
||||||
func List(ctx context.Context, path string, args *ListArgs) ([]model.Obj, error) {
|
func List(ctx context.Context, path string, args *ListArgs) ([]model.Obj, error) {
|
||||||
res, err := list(ctx, path, args)
|
res, err := list(ctx, path, args)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("failed list %s: %+v", path, err)
|
if !args.NoLog {
|
||||||
|
log.Errorf("failed list %s: %+v", path, err)
|
||||||
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return res, nil
|
return res, nil
|
||||||
|
@ -33,8 +35,10 @@ type GetArgs struct {
|
||||||
|
|
||||||
func Get(ctx context.Context, path string, args *GetArgs) (model.Obj, error) {
|
func Get(ctx context.Context, path string, args *GetArgs) (model.Obj, error) {
|
||||||
res, err := get(ctx, path)
|
res, err := get(ctx, path)
|
||||||
if err != nil && !args.NoLog {
|
if err != nil {
|
||||||
log.Errorf("failed get %s: %+v", path, err)
|
if !args.NoLog {
|
||||||
|
log.Errorf("failed get %s: %+v", path, err)
|
||||||
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return res, nil
|
return res, nil
|
||||||
|
@ -106,12 +110,11 @@ func PutAsTask(dstDirPath string, file *model.FileStream) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
type GetStoragesArgs struct {
|
type GetStoragesArgs struct {
|
||||||
NoLog bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetStorage(path string, args *GetStoragesArgs) (driver.Driver, error) {
|
func GetStorage(path string, args *GetStoragesArgs) (driver.Driver, error) {
|
||||||
storageDriver, _, err := op.GetStorageAndActualPath(path)
|
storageDriver, _, err := op.GetStorageAndActualPath(path)
|
||||||
if err != nil && !args.NoLog {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return storageDriver, nil
|
return storageDriver, nil
|
||||||
|
|
Loading…
Reference in New Issue