Thread (8 messages) 8 messages, 4 authors, 2013-10-08

Re: [PATCH] iproute2: xfrm state add abort issue

From: Sohny Thomas <hidden>
Date: 2013-09-28 13:24:42

On Friday 27 September 2013 01:56 PM, David Laight wrote:
quoted
ip xfrm state add causes a SIGABRT due to a strncpy_chk .
This happens since strncpy doesn't account for the '\0' .
I have fixed this using sizeof  instead of strlen .

There is a redhat bug which documents this issue

https://bugzilla.redhat.com/show_bug.cgi?id=982761

Signed-off-by: Sohny Thomas <redacted>

--------------
diff --git a/ip/xfrm_state.c b/ip/xfrm_state.c
index 389942c..7dd8799 100644
--- a/ip/xfrm_state.c
+++ b/ip/xfrm_state.c
@@ -117,7 +117,7 @@ static int xfrm_algo_parse(struct xfrm_algo *alg,
enum xfrm_attr_type_t type,
                              char *name, char *key, char *buf, int max)
    {
           int len;
-       int slen = strlen(key);
+       int slen = sizeof(key);
you definitely don't want sizeof(key) - that is either 4 or 8.
oh damn my bad.
I think i will go with strlen(key) + 1.

or i will pass slen+1 to strncpy .

Regards,
Sohny
	David


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help