From b1387bc941d0b5dab2184437fad5df31a641fa6c Mon Sep 17 00:00:00 2001 From: coderaiser Date: Wed, 2 Jul 2014 06:20:13 -0400 Subject: [PATCH] feature(rest) add isRootWin32 check on: copy, move --- lib/server/rest.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/server/rest.js b/lib/server/rest.js index f6bdbed3..596cd0fe 100644 --- a/lib/server/rest.js +++ b/lib/server/rest.js @@ -40,6 +40,8 @@ pack = require(DIR + 'pack'), mellow = require(DIR + 'mellow'), format = require(DIR + 'format'), + isWin32 = process.platform === 'win32', + NOT_LOG = true; @@ -287,7 +289,7 @@ break; case 'mv': - if (!files.from || !files.to) { + if (!files.from || !files.to || isRootWin32(files.to)) { sendError(params, p.data); } else { files.from = mellow.convertPath(files.from); @@ -309,7 +311,7 @@ break; case 'cp': - if (!files.from || !files.names || !files.to) { + if (!files.from || !files.names || !files.to || isRootWin32(files.to)) { sendError(params, p.data); } else { files.from = mellow.convertPath(files.from); @@ -436,6 +438,12 @@ copy(); } + function isRootWin32(path) { + var isRoot = path === '/'; + + return isWin32 && isRoot; + } + function sendMsg(sendParam, msgParam, dataParam, status) { var msg, data, isObj = Util.isObject(dataParam);