From f3bb8a792daee89933494b781137d3dbd86c9708 Mon Sep 17 00:00:00 2001 From: sta Date: Tue, 5 Mar 2019 21:27:35 +0900 Subject: [PATCH] [Modify] Replace it --- websocket-sharp/Net/Cookie.cs | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/websocket-sharp/Net/Cookie.cs b/websocket-sharp/Net/Cookie.cs index cfc9dc65..3481cf10 100644 --- a/websocket-sharp/Net/Cookie.cs +++ b/websocket-sharp/Net/Cookie.cs @@ -237,9 +237,29 @@ namespace WebSocketSharp.Net /// /// public Cookie (string name, string value, string path, string domain) - : this (name, value, path) { - Domain = domain; + if (name == null) + throw new ArgumentNullException ("name"); + + if (value == null) + throw new ArgumentNullException ("value"); + + if (name.Length == 0) + throw new ArgumentException ("An empty string.", "name"); + + if (name[0] == '$' || name.Contains (_reservedCharsForName)) { + var msg = "It contains an invalid character."; + throw new ArgumentException (msg, "name"); + } + + if (value.Contains (_reservedCharsForValue)) { + if (!value.IsEnclosedIn ('"')) { + var msg = "It contains an invalid character."; + throw new ArgumentException (msg, "value"); + } + } + + init (name, value, path ?? String.Empty, domain ?? String.Empty); } #endregion