only unlink socketpath if indeed it is a socket, prevent stupid

Signed-off-by: Travis Glenn Hansen <travisghansen@yahoo.com>
This commit is contained in:
Travis Glenn Hansen 2022-03-06 09:36:08 -07:00
parent 60eefe0248
commit b0d286c4ab
2 changed files with 9 additions and 3 deletions

View File

@ -342,8 +342,11 @@ logger.info(
let socketPath = bindSocket; let socketPath = bindSocket;
socketPath = socketPath.replace(/^unix:\/\//g, ""); socketPath = socketPath.replace(/^unix:\/\//g, "");
if (socketPath && fs.existsSync(socketPath)) { if (socketPath && fs.existsSync(socketPath)) {
let fsStat = fs.statSync(socketPath);
if (fsStat.isSocket()) {
fs.unlinkSync(socketPath); fs.unlinkSync(socketPath);
} }
}
process.exit(code); process.exit(code);
}); });
@ -373,8 +376,11 @@ if (require.main === module) {
let socketPath = bindSocket; let socketPath = bindSocket;
socketPath = socketPath.replace(/^unix:\/\//g, ""); socketPath = socketPath.replace(/^unix:\/\//g, "");
if (socketPath && fs.existsSync(socketPath)) { if (socketPath && fs.existsSync(socketPath)) {
let fsStat = fs.statSync(socketPath);
if (fsStat.isSocket()) {
fs.unlinkSync(socketPath); fs.unlinkSync(socketPath);
} }
}
await new Promise((resolve, reject) => { await new Promise((resolve, reject) => {
csiServer.bindAsync( csiServer.bindAsync(

View File

@ -35,7 +35,7 @@ const package = require("../package.json");
args.version = package.version; args.version = package.version;
const protoLoader = require("@grpc/proto-loader"); const protoLoader = require("@grpc/proto-loader");
const csiVersion = process.env.CSI_VERSION || args.csiVersion || "1.2.0"; const csiVersion = process.env.CSI_VERSION || args.csiVersion || "1.5.0";
const PROTO_PATH = __dirname + "/../csi_proto/csi-v" + csiVersion + ".proto"; const PROTO_PATH = __dirname + "/../csi_proto/csi-v" + csiVersion + ".proto";
// Suggested options for similarity to existing grpc.load behavior // Suggested options for similarity to existing grpc.load behavior