fix potential problems about not doing null checking

This commit is contained in:
CGQAQ 2019-08-23 10:07:20 +08:00
parent dd1a01556f
commit 33a25d8b49
2 changed files with 15 additions and 9 deletions

2
.gitignore vendored
View file

@ -2,7 +2,7 @@
# 此 .gitignore 文件已由 Microsoft(R) Visual Studio 自动创建。 # 此 .gitignore 文件已由 Microsoft(R) Visual Studio 自动创建。
################################################################################ ################################################################################
/v2rayN/.vs/v2rayN/v15 /v2rayN/.vs/
/v2rayN/v2rayN/bin/Debug/app.publish /v2rayN/v2rayN/bin/Debug/app.publish
/v2rayN/v2rayN/bin/Debug /v2rayN/v2rayN/bin/Debug
/v2rayN/v2rayN/obj/Debug /v2rayN/v2rayN/obj/Debug

View file

@ -1104,17 +1104,23 @@ namespace v2rayN.Handler
vmessItem.network = Global.DefaultNetwork; vmessItem.network = Global.DefaultNetwork;
vmessItem.headerType = Global.None; vmessItem.headerType = Global.None;
// v2ray 鬼才机场主们往往会各种不填或者null后面trim的时候会出Exception
Func<String, String> check_null = nullableString => nullableString == null ? "" : nullableString;
vmessItem.configVersion = Utils.ToInt(vmessQRCode.v); vmessItem.configVersion = Utils.ToInt(vmessQRCode.v);
vmessItem.remarks = vmessQRCode.ps; vmessItem.remarks = check_null(vmessQRCode.ps);
vmessItem.address = vmessQRCode.add; vmessItem.address = check_null(vmessQRCode.add);
vmessItem.port = Utils.ToInt(vmessQRCode.port); vmessItem.port = Utils.ToInt(vmessQRCode.port);
vmessItem.id = vmessQRCode.id; vmessItem.id = check_null(vmessQRCode.id);
vmessItem.alterId = Utils.ToInt(vmessQRCode.aid); vmessItem.alterId = Utils.ToInt(vmessQRCode.aid);
vmessItem.network = vmessQRCode.net; // 上面有默认值, 不需要手动赋值空字符串
vmessItem.headerType = vmessQRCode.type; if(vmessQRCode.net != null)
vmessItem.requestHost = vmessQRCode.host; vmessItem.network = vmessQRCode.net;
vmessItem.path = vmessQRCode.path; if(vmessQRCode.type != null)
vmessItem.streamSecurity = vmessQRCode.tls; vmessItem.headerType = check_null(vmessQRCode.type);
vmessItem.requestHost = check_null(vmessQRCode.host);
vmessItem.path = check_null(vmessQRCode.host);
vmessItem.streamSecurity = check_null(vmessQRCode.tls);
} }
ConfigHandler.UpgradeServerVersion(ref vmessItem); ConfigHandler.UpgradeServerVersion(ref vmessItem);