1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
From: =?utf-8?b?SmFuIE1vasW+w63FoQ==?= <jan.mojzis@gmail.com>
Date: Thu, 30 Dec 2021 07:53:20 +0100
Subject: fix segfault
Forwarded: no
---
curvecp/curvecpclient.c | 1 +
curvecp/curvecpserver.c | 1 +
curvecp/portparse.c | 1 +
3 files changed, 3 insertions(+)
diff --git a/curvecp/curvecpclient.c b/curvecp/curvecpclient.c
index 00793f0..349e338 100644
--- a/curvecp/curvecpclient.c
+++ b/curvecp/curvecpclient.c
@@ -96,6 +96,7 @@ int multiipparse(unsigned char *y,const char *x)
long long j;
long long k;
long long d;
+ if (!x) return 0;
for (j = 0;j < 4 * NUMIP;++j) y[j] = 0;
ynum = 0;
while (ynum < 1000) {
diff --git a/curvecp/curvecpserver.c b/curvecp/curvecpserver.c
index 82cc667..3e98ae2 100644
--- a/curvecp/curvecpserver.c
+++ b/curvecp/curvecpserver.c
@@ -90,6 +90,7 @@ int ipparse(unsigned char *y,const char *x)
long long k;
long long d;
+ if (!x) return 0;
for (k = 0;k < 4;++k) y[k] = 0;
for (k = 0;k < 4;++k) {
d = 0;
diff --git a/curvecp/portparse.c b/curvecp/portparse.c
index 37e4cac..75354cc 100644
--- a/curvecp/portparse.c
+++ b/curvecp/portparse.c
@@ -4,6 +4,7 @@ int portparse(unsigned char *y,const char *x)
{
long long d = 0;
long long j;
+ if (!x) return 0;
for (j = 0;j < 5 && x[j] >= '0' && x[j] <= '9';++j)
d = d * 10 + (x[j] - '0');
if (j == 0) return 0;
|