summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrob <rob@openbsd.org>2018-08-11 04:31:57 +0000
committerrob <rob@openbsd.org>2018-08-11 04:31:57 +0000
commitbf3daba5d0967f28e8d6e7b4c65d141824e28d10 (patch)
treed10d8f570652ef429c151f2bd1ec05f92114dbc2
parenthandle the non-portable GNU-style \[charNN], \[charNNN] character (diff)
downloadwireguard-openbsd-bf3daba5d0967f28e8d6e7b4c65d141824e28d10.tar.xz
wireguard-openbsd-bf3daba5d0967f28e8d6e7b4c65d141824e28d10.zip
Prevent server side overflow for message id in snmp header.
ok sthen@, tb@
-rw-r--r--usr.sbin/snmpctl/snmpclient.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/snmpctl/snmpclient.c b/usr.sbin/snmpctl/snmpclient.c
index 902985d7544..dd0ab231b5d 100644
--- a/usr.sbin/snmpctl/snmpclient.c
+++ b/usr.sbin/snmpctl/snmpclient.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: snmpclient.c,v 1.16 2018/08/08 18:50:38 rob Exp $ */
+/* $OpenBSD: snmpclient.c,v 1.17 2018/08/11 04:31:57 rob Exp $ */
/*
* Copyright (c) 2013 Reyk Floeter <reyk@openbsd.org>
@@ -407,7 +407,7 @@ snmpc_sendreq(struct snmpc *sc, unsigned int type)
erroridx = SNMPC_MAXREPETITIONS;
/* SNMP header */
- sc->sc_msgid = arc4random();
+ sc->sc_msgid = arc4random() & 0x7fffffff;
if ((root = ber_add_sequence(NULL)) == NULL)
return (-1);
if ((b = ber_printf_elements(root, "ds{tddd{{O0}}",