Message ID | 20250205131153.476278-17-ps.report@gmx.net (mailing list archive) |
---|---|
State | New |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Some pktgen fixes/improvments | expand |
diff --git a/net/core/pktgen.c b/net/core/pktgen.c index a46eb20edf6c..434531a3e3c0 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -930,8 +930,13 @@ static int get_labels(const char __user *buffer, int maxlen, struct pktgen_dev * max = min(HEX_8_DIGITS, maxlen - i); len = hex32_arg(&buffer[i], max, &tmp); - if (len <= 0) + if (len < 0) return len; + + // return empty list in case of invalid input and/or zero value + if (len == 0 || tmp == 0) + return maxlen; + pkt_dev->labels[n] = htonl(tmp); if (pkt_dev->labels[n] & MPLS_STACK_BOTTOM) pkt_dev->flags |= F_MPLS_RND;