Date: Thu, 07 Jul 2011 23:40:11 +0000 From: aalvarez@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r224025 - soc2011/aalvarez/pbmac/sys/security/mac_bsdextended Message-ID: <20110707234011.3FCB51065672@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: aalvarez Date: Thu Jul 7 23:40:10 2011 New Revision: 224025 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=224025 Log: Fix match logic Modified: soc2011/aalvarez/pbmac/sys/security/mac_bsdextended/mac_bsdextended.c Modified: soc2011/aalvarez/pbmac/sys/security/mac_bsdextended/mac_bsdextended.c ============================================================================== --- soc2011/aalvarez/pbmac/sys/security/mac_bsdextended/mac_bsdextended.c Thu Jul 7 22:30:12 2011 (r224024) +++ soc2011/aalvarez/pbmac/sys/security/mac_bsdextended/mac_bsdextended.c Thu Jul 7 23:40:10 2011 (r224025) @@ -161,8 +161,14 @@ ruleptr = malloc(sizeof(*ruleptr), M_MACBSDEXTENDED, M_WAITOK | M_ZERO); - fpath = malloc(sizeof(*fpath)*temprule.mbr_object.mbo_fpath_len, - M_MACBSDEXTENDED, M_WAITOK | M_ZERO); + /* If there's a filepath, make a copy */ + if (temprule.mbr_object.mbo_flags & MBO_FPATH_DEFINED && + temprule.mbr_object.mbo_fpath != NULL) { + fpath = malloc(sizeof(*fpath)*temprule.mbr_object.mbo_fpath_len, + M_MACBSDEXTENDED, M_WAITOK | M_ZERO); + copyinstr(temprule.mbr_object.mbo_fpath, fpath, + temprule.mbr_object.mbo_fpath_len, NULL); + } } mtx_lock(&ugidfw_mtx); @@ -204,13 +210,7 @@ *rules[index] = temprule; } - /* If there's a filepath, make a copy */ - if (temprule.mbr_object.mbo_flags & MBO_FPATH_DEFINED && - temprule.mbr_object.mbo_fpath != NULL) { - copyinstr(temprule.mbr_object.mbo_fpath, fpath, - temprule.mbr_object.mbo_fpath_len, NULL); - rules[index]->mbr_object.mbo_fpath = fpath; - } + rules[index]->mbr_object.mbo_fpath = fpath; } out: mtx_unlock(&ugidfw_mtx); @@ -334,7 +334,7 @@ } if (rule->mbr_object.mbo_flags & MBO_FPATH_DEFINED && fpath_hint != NULL) { - match = strcmp(fpath_hint, rule->mbr_object.mbo_fpath); + match = (strcmp(fpath_hint, rule->mbr_object.mbo_fpath) == 0); if (rule->mbr_object.mbo_neg & MBO_FPATH_DEFINED) match = !match;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110707234011.3FCB51065672>