definitely a more clean diff
diff --git a/sys/netmpls/mpls_input.c b/sys/netmpls/mpls_input.c
index 34fe7314d..fff3564c8 100644
--- a/sys/netmpls/mpls_input.c
+++ b/sys/netmpls/mpls_input.c
@@ -76,13 +76,15 @@ mpls_input(struct ifnet *ifp, struct mbuf *m)
}
shim = mtod(m, struct shim_hdr *);
-
#ifdef MPLS_DEBUG
printf("mpls_input: iface %s label=%d, ttl=%d BoS %d\n",
- ifp->if_xname, MPLS_LABEL_GET(shim->shim_label), ttls, hasbos);
+ ifp->if_xname, MPLS_LABEL_GET(shim->shim_label),
+ MPLS_LABEL_GET(shim->shim_label),
+ MPLS_BOS_ISSET(shim->shim_label));
#endif
/* check and decrement TTL */
+ ttl = MPLS_LABEL_GET(shim->shim_label);
if (--ttl == 0) {
/* TTL exceeded */
m = mpls_do_error(m, ICMP_TIMXCEED,
ICMP_TIMXCEED_INTRANS, 0);
On 01/09/18 22:31, bijan wrote:
Hi, while reading the changes in OpenBSD source code (hopefully to
learn more), I've notice the usage of Uninitialized variable. Looks
like the latest commit unintentionally removed the assignment line:
https://github.com/openbsd/src/commit/5c53b9324545b7febab2dcf52402199d72b231d3?diff=split#diff-3efc580dfa272b2173162f5950c92484R86
The following should bring back (the possibly) unwanted change. Hope
it helps unless I missed something :-)
diff --git a/sys/netmpls/mpls_input.c b/sys/netmpls/mpls_input.c
index 34fe7314d..487506301 100644
--- a/sys/netmpls/mpls_input.c
+++ b/sys/netmpls/mpls_input.c
@@ -83,6 +83,7 @@ mpls_input(struct ifnet *ifp, struct mbuf *m)
#endif
/* check and decrement TTL */
+ ttl = ntohl(shim->shim_label & MPLS_TTL_MASK);
if (--ttl == 0) {
/* TTL exceeded */
m = mpls_do_error(m, ICMP_TIMXCEED,
ICMP_TIMXCEED_INTRANS, 0);