summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mms/libmms/mms.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/plugins/mms/libmms/mms.c b/plugins/mms/libmms/mms.c
index 3aef102d..b23130fe 100644
--- a/plugins/mms/libmms/mms.c
+++ b/plugins/mms/libmms/mms.c
@@ -275,7 +275,11 @@ static int fallback_io_tcp_connect(void *data, const char *host, int port, int *
for (rp = res; rp != NULL; rp = rp->ai_next) {
struct sockaddr_in sin;
memset (&sin, 0, sizeof (sin));
- memcpy (&sin, rp->ai_addr, rp->ai_addrlen);
+ int l = rp->ai_addrlen;
+ if (l > sizeof (sin)) {
+ l = sizeof (sin);
+ }
+ memcpy (&sin, rp->ai_addr, l);
#endif
time_t t = time (NULL);