svn commit: r184632 - projects/quota64/lib/libutil
Dag-Erling Smorgrav
des at FreeBSD.org
Tue Nov 4 05:49:19 PST 2008
Author: des
Date: Tue Nov 4 13:49:18 2008
New Revision: 184632
URL: http://svn.freebsd.org/changeset/base/184632
Log:
Committed to wrong branch.
Modified:
projects/quota64/lib/libutil/login_cap.c
projects/quota64/lib/libutil/login_class.c
Modified: projects/quota64/lib/libutil/login_cap.c
==============================================================================
--- projects/quota64/lib/libutil/login_cap.c Tue Nov 4 13:44:43 2008 (r184631)
+++ projects/quota64/lib/libutil/login_cap.c Tue Nov 4 13:49:18 2008 (r184632)
@@ -61,8 +61,6 @@ static char * internal_string = NULL;
static size_t internal_arraysz = 0;
static const char ** internal_array = NULL;
-static char path_login_conf[] = _PATH_LOGIN_CONF;
-
static char *
allocstr(const char *str)
{
@@ -217,14 +215,15 @@ login_getclassbyname(char const *name, c
if (dir && snprintf(userpath, MAXPATHLEN, "%s/%s", dir,
_FILE_LOGIN_CONF) < MAXPATHLEN) {
+ login_dbarray[i] = userpath;
if (_secure_path(userpath, pwd->pw_uid, pwd->pw_gid) != -1)
- login_dbarray[i++] = userpath;
+ i++; /* only use 'secure' data */
}
/*
* XXX: Why to add the system database if the class is `me'?
*/
- if (_secure_path(path_login_conf, 0, 0) != -1)
- login_dbarray[i++] = path_login_conf;
+ if (_secure_path(_PATH_LOGIN_CONF, 0, 0) != -1)
+ login_dbarray[i++] = _PATH_LOGIN_CONF;
login_dbarray[i] = NULL;
memset(lc, 0, sizeof(login_cap_t));
Modified: projects/quota64/lib/libutil/login_class.c
==============================================================================
--- projects/quota64/lib/libutil/login_class.c Tue Nov 4 13:44:43 2008 (r184631)
+++ projects/quota64/lib/libutil/login_class.c Tue Nov 4 13:49:18 2008 (r184632)
@@ -142,13 +142,14 @@ substvar(const char * var, const struct
int tildes = 0;
int dollas = 0;
char *p;
- const char *q;
if (pwd != NULL) {
- for (q = var; *q != '\0'; ++q) {
- tildes += (*q == '~');
- dollas += (*q == '$');
- }
+ /* Count the number of ~'s in var to substitute */
+ for (p = (char *)var; (p = strchr(p, '~')) != NULL; p++)
+ ++tildes;
+ /* Count the number of $'s in var to substitute */
+ for (p = (char *)var; (p = strchr(p, '$')) != NULL; p++)
+ ++dollas;
}
np = malloc(strlen(var) + (dollas * nlen)
More information about the svn-src-projects
mailing list