public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
* [PATCH] ip/xfrm: Fix potential SIGSEGV when printing extra flags
@ 2013-08-29 12:00 Thomas Egerer
  0 siblings, 0 replies; only message in thread
From: Thomas Egerer @ 2013-08-29 12:00 UTC (permalink / raw)
  To: netdev; +Cc: shemminger

[-- Attachment #1: Type: text/plain, Size: 410 bytes --]


The git-commit dc8867d0, that added support for displaying the
extra-flags of a state, introduced a potential segfault.
Trying to show a state without the extra-flag attribute and show_stats
enabled, would cause the NULL pointer in tb[XFRMA_SA_EXTRA_FLAGS] to be
dereferenced.

Signed-off-by: Thomas Egerer <thomas.egerer@secunet•com>
---
 ip/ipxfrm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)




[-- Attachment #2: 0001-ip-xfrm-Fix-potential-SIGSEGV-when-printing-extra-fl.patch --]
[-- Type: text/x-patch, Size: 440 bytes --]

diff --git a/ip/ipxfrm.c b/ip/ipxfrm.c
index 0a3a9fb..411d9d5 100644
--- a/ip/ipxfrm.c
+++ b/ip/ipxfrm.c
@@ -856,7 +856,7 @@ void xfrm_state_info_print(struct xfrm_usersa_info *xsinfo,
 		if (flags)
 			fprintf(fp, "%x", flags);
 	}
-	if (show_stats > 0 || tb[XFRMA_SA_EXTRA_FLAGS]) {
+	if (show_stats > 0 && tb[XFRMA_SA_EXTRA_FLAGS]) {
 		__u32 extra_flags = *(__u32 *)RTA_DATA(tb[XFRMA_SA_EXTRA_FLAGS]);
 
 		fprintf(fp, "extra_flag ");


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2013-08-29 12:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-29 12:00 [PATCH] ip/xfrm: Fix potential SIGSEGV when printing extra flags Thomas Egerer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox