summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2005-03-16 05:27:19 +0000
committersam <sam@FreeBSD.org>2005-03-16 05:27:19 +0000
commite123d63d3f0322683a22e099450e9685a497c625 (patch)
tree4536ed3284183c3a6198e4586558affafc78db04 /sys/netinet
parentbf58395732b429d0a0f6cc221e2b48f5d247bf0b (diff)
downloadFreeBSD-src-e123d63d3f0322683a22e099450e9685a497c625.zip
FreeBSD-src-e123d63d3f0322683a22e099450e9685a497c625.tar.gz
plug resource leak
Noticed by: Coverity Prevent analysis tool
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/ip_input.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c
index bee0b86..64e4046 100644
--- a/sys/netinet/ip_input.c
+++ b/sys/netinet/ip_input.c
@@ -1574,8 +1574,10 @@ save_rte(m, option, dst)
if (ipprintfs)
printf("save_rte: olen %d\n", olen);
#endif
- if (olen > sizeof(opts->ip_srcrt) - (1 + sizeof(dst)))
+ if (olen > sizeof(opts->ip_srcrt) - (1 + sizeof(dst))) {
+ m_tag_free((struct m_tag *)opts);
return;
+ }
bcopy(option, opts->ip_srcrt.srcopt, olen);
opts->ip_nhops = (olen - IPOPT_OFFSET - 1) / sizeof(struct in_addr);
opts->ip_srcrt.dst = dst;
OpenPOWER on IntegriCloud