aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2016-03-14 06:15:59 +0200
committerArnold D. Robbins <arnold@skeeve.com>2016-03-14 06:15:59 +0200
commitd4c2da5fdcd72c366648e6816cf56ab26959ab80 (patch)
treef8d9ef87db08817ee20dcd7b854953cfe7840388
parent31e83b72eb5a30c5d733c89e233fbbd5cfd60f1b (diff)
parente53e3aac9604a9ce7563f045249b41ebfb0c2e4e (diff)
downloadegawk-d4c2da5fdcd72c366648e6816cf56ab26959ab80.tar.gz
egawk-d4c2da5fdcd72c366648e6816cf56ab26959ab80.tar.bz2
egawk-d4c2da5fdcd72c366648e6816cf56ab26959ab80.zip
Merge branch 'gawk-4.1-stable'
-rw-r--r--ChangeLog6
-rw-r--r--io.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 9d2d825c..05b3bfad 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2016-03-14 Arnold D. Robbins <arnold@skeeve.com>
+
+ * io.c (socketopen): For SOCK_DGRAM, set read_len to sizeof
+ remote_addr. Makes UDP more or less work again.
+ Thanks to Juergen Kahrs for the fix.
+
2016-03-10 Arnold D. Robbins <arnold@skeeve.com>
* builtin.c (do_system): Further improvements. Catch core dump
diff --git a/io.c b/io.c
index d618181d..335e1255 100644
--- a/io.c
+++ b/io.c
@@ -1593,7 +1593,7 @@ socketopen(int family, int type, const char *localpname,
#ifdef MSG_PEEK
char buf[10];
struct sockaddr_storage remote_addr;
- socklen_t read_len = 0;
+ socklen_t read_len = sizeof(remote_addr);
if (recvfrom(socket_fd, buf, 1, MSG_PEEK,
(struct sockaddr *) & remote_addr,