Google
  Web www.spinics.net

[PATCH] [iproute2/ip] ip segfault with wrong key

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Wrong key in "ip xfrm state" command lead to segfault. I thought there could be used only hexadecimal numbers. I'm suggesting attached patch. The example of problem could be seen here: https://bugzilla.redhat.com/show_bug.cgi?id=449933

--
Marcela Mašláňová
BaseOS team Brno

>From e2ea8623c5d4fb761924cb7744a0bb220b65e03e Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Marcela=20Ma=C5=A1l=C3=A1=C5=88ov=C3=A1?= <mmaslano@xxxxxxxxxx>
Date: Fri, 4 Jul 2008 13:38:17 +0200
Subject: [PATCH] The key should be hexadecimal number. This fix should solve
 segfault with wrong key.

---
 ip/xfrm_state.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/ip/xfrm_state.c b/ip/xfrm_state.c
index ff309e7..9a34da4 100644
--- a/ip/xfrm_state.c
+++ b/ip/xfrm_state.c
@@ -160,8 +160,9 @@ static int xfrm_algo_parse(struct xfrm_algo *alg, enum xfrm_attr_type_t type,
 		if (len > 0) {
 			if (len > max)
 				invarg("\"ALGOKEY\" makes buffer overflow\n", key);
-
-			strncpy(alg->alg_key, key, len);
+			else
+				invarg("\"ALGOKEY\" is invalid", key);
+			/* strncpy(alg->alg_key, key, len); */
 		}
 	}
 
-- 
1.5.5.1


[Kernel List]     [Site Home]     [Ethernet Bridging]     [Git]     [IETF Annouce]     [Linux Assembly]     [VLAN]     [Networking]     [Security]     [Bugtraq]     [Rubini]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Virtualization]     [Linux Security]     [Linux IDE]     [Linux RAID]     [Linux SCSI]     [Linux Wireless]     [DDR & Rambus]     [Free Dating]     [Linux Resources]     [Wireless Reading Device]

Add to Google Powered by Linux