Merge pull request #5746 from lifupan/main
runtime: fix the issue of create new socket with abstract address
This commit is contained in:
commit
fcd9c41991
@ -90,7 +90,10 @@ func NewSocket(address string) (*net.UnixListener, error) {
|
|||||||
sock = socket(address)
|
sock = socket(address)
|
||||||
path = sock.path()
|
path = sock.path()
|
||||||
)
|
)
|
||||||
if !sock.isAbstract() {
|
|
||||||
|
isAbstract := sock.isAbstract()
|
||||||
|
|
||||||
|
if !isAbstract {
|
||||||
if err := os.MkdirAll(filepath.Dir(path), 0600); err != nil {
|
if err := os.MkdirAll(filepath.Dir(path), 0600); err != nil {
|
||||||
return nil, errors.Wrapf(err, "%s", path)
|
return nil, errors.Wrapf(err, "%s", path)
|
||||||
}
|
}
|
||||||
@ -99,11 +102,14 @@ func NewSocket(address string) (*net.UnixListener, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !isAbstract {
|
||||||
if err := os.Chmod(path, 0600); err != nil {
|
if err := os.Chmod(path, 0600); err != nil {
|
||||||
os.Remove(sock.path())
|
os.Remove(sock.path())
|
||||||
l.Close()
|
l.Close()
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return l.(*net.UnixListener), nil
|
return l.(*net.UnixListener), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user