changeset 18436:784fedaf5d3f

OS-4286 lx brand: lxpr_read_net_unix() can read/return uninitialized data
author Patrick Mooney <patrick.f.mooney@gmail.com>
date Fri, 08 May 2015 20:58:33 +0000
parents fc105fecef18
children 6d8a827f1f18
files usr/src/uts/common/brand/lx/procfs/lx_prvnops.c
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/uts/common/brand/lx/procfs/lx_prvnops.c	Thu May 07 22:59:14 2015 +0000
+++ b/usr/src/uts/common/brand/lx/procfs/lx_prvnops.c	Fri May 08 20:58:33 2015 +0000
@@ -2754,10 +2754,13 @@
 		mutex_enter(&so->so_lock);
 		sti = _SOTOTPI(so);
 
-		if (sti->sti_laddr_sa != NULL)
+		if (sti->sti_laddr_sa != NULL &&
+		    sti->sti_laddr_len > 0) {
 			name = sti->sti_laddr_sa->sa_data;
-		else if (sti->sti_faddr_sa != NULL)
+		} else if (sti->sti_faddr_sa != NULL &&
+		    sti->sti_faddr_len > 0) {
 			name = sti->sti_faddr_sa->sa_data;
+		}
 
 		/*
 		 * Derived from enum values in Linux kernel source: