[Modify] Add checks for full path

This commit is contained in:
sta 2017-07-10 18:10:39 +09:00
parent 1bbad14186
commit e117dd9d72

View File

@ -398,6 +398,15 @@ namespace WebSocketSharp.Server
throw new ArgumentException ("An empty string.", "value");
value = value.TrimSlashOrBackslashFromEnd ();
string full = null;
try {
full = Path.GetFullPath (value);
}
catch (Exception ex) {
throw new ArgumentException ("An invalid path string.", "value", ex);
}
if (value == "/")
throw new ArgumentException ("An absolute root.", "value");
@ -407,6 +416,12 @@ namespace WebSocketSharp.Server
if (value.Length == 2 && value[1] == ':')
throw new ArgumentException ("An absolute root.", "value");
if (full == "/")
throw new ArgumentException ("An absolute root.", "value");
if (full.Length == 2 && full[1] == ':')
throw new ArgumentException ("An absolute root.", "value");
string msg;
if (!canSet (out msg)) {
_log.Warn (msg);