aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrumeet <17158086+Trumeet@users.noreply.github.com>2021-01-09 13:01:15 -0800
committerTrumeet <17158086+Trumeet@users.noreply.github.com>2021-01-09 13:01:15 -0800
commit0a3b6d430aa390772a66b42af8ad46763c30bd45 (patch)
treef0604fb0044ea08d7038168ac5e3dea85a6d2e6f
parente0f56eda062a63ddd12e42c858190ce4b0d99197 (diff)
downloaddn42peering-0a3b6d430aa390772a66b42af8ad46763c30bd45.tar
dn42peering-0a3b6d430aa390772a66b42af8ad46763c30bd45.tar.gz
dn42peering-0a3b6d430aa390772a66b42af8ad46763c30bd45.tar.bz2
dn42peering-0a3b6d430aa390772a66b42af8ad46763c30bd45.zip
fix(central): add non-null check for wg_endpoint_port form field
-rw-r--r--central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java21
1 files changed, 12 insertions, 9 deletions
diff --git a/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java b/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java
index e3da5fe..57e2701 100644
--- a/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java
+++ b/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java
@@ -683,17 +683,20 @@ public class ManageHandler implements ISubRouter {
int wgEndpointPort = -1;
if (form.containsKey("wg_endpoint_port")) {
if (type == Peer.VPNType.WIREGUARD) {
- if (wgEndpointCorrect) {
- try {
- wgEndpointPort = Integer.parseInt(form.getString("wg_endpoint_port"));
- if (wgEndpointPort < 0 || wgEndpointPort > 65535) {
- errors.add("WireGuard EndPoint port must be in UDP port range.");
+ final String rawPort = form.getString("wg_endpoint_port");
+ if(rawPort != null && !rawPort.isEmpty()) {
+ if (wgEndpointCorrect) {
+ try {
+ wgEndpointPort = Integer.parseInt(rawPort);
+ if (wgEndpointPort < 0 || wgEndpointPort > 65535) {
+ errors.add("WireGuard EndPoint port must be in UDP port range.");
+ }
+ } catch (NumberFormatException | NullPointerException ignored) {
+ errors.add("WireGuard EndPoint port is not valid. It must be a number.");
}
- } catch (NumberFormatException | NullPointerException ignored) {
- errors.add("WireGuard EndPoint port is not valid. It must be a number.");
+ } else {
+ errors.add("WireGuard EndPoint IP is not specified or invalid, but port is specified.");
}
- } else {
- errors.add("WireGuard EndPoint IP is not specified or invalid, but port is specified.");
}
} else {
errors.add("WireGuard tunneling is not selected but WireGuard Endpoint configuration appears.");