Ken'ichi Ohmichi wrote:
> Hi,
> 
> To add the member "procname" to struct cgroup_rule by later patch, this
> patch renames the member "name" to "username" for the clarification.
> 
> 
> Thanks
> Ken'ichi Ohmichi
> 
> Signed-off-by: Ken'ichi Ohmichi <[email protected]>
> ---
>  src/api.c                |   17 +++++++++--------
>  src/libcgroup-internal.h |    2 +-
>  2 files changed, 10 insertions(+), 9 deletions(-)
> 
> diff --git a/src/api.c b/src/api.c
> index 237d4e6..9da3ebb 100644
> --- a/src/api.c
> +++ b/src/api.c
> @@ -479,7 +479,7 @@ static int cgroup_parse_rules(bool cache, uid_t muid, 
> gid_t mgid)
>  
>               newrule->uid = uid;
>               newrule->gid = gid;
> -             strncpy(newrule->name, user, strlen(user));
> +             strncpy(newrule->username, user, strlen(user));

I wonder why there is strncpy(..., strlen(user)) - it actually walks 
through 'user' twice, once to compute length and then it's actually 
copied. Simple strcpy does the same, doesn't it?

I know it's not your bug, the code was already there and it originally 
comes from [email protected]. Still, would you mind fixing such nonsense, 
probably in another, unrelated patch?

>               strncpy(newrule->destination, destination, strlen(destination));
>               newrule->next = NULL;
>  
> @@ -519,7 +519,7 @@ static int cgroup_parse_rules(bool cache, uid_t muid, 
> gid_t mgid)
>               }
>  
>               cgroup_dbg("Added rule %s (UID: %d, GID: %d) -> %s for"
> -                     " controllers:", lst->tail->name, lst->tail->uid,
> +                     " controllers:", lst->tail->username, lst->tail->uid,
>                       lst->tail->gid, lst->tail->destination);
>                  for (i = 0; lst->tail->controllers[i]; i++) {
>                       cgroup_dbg(" %s", lst->tail->controllers[i]);
> @@ -1812,9 +1812,9 @@ static struct cgroup_rule 
> *cgroup_find_matching_rule_uid_gid(const uid_t uid,
>               }
>  
>               /* If this is a group rule, the UID might be a member. */
> -             if (ret->name[0] == '@') {
> +             if (ret->username[0] == '@') {
>                       /* Get the group data. */
> -                     sp = &(ret->name[1]);
> +                     sp = &(ret->username[1]);
>                       grp = getgrnam(sp);
>                       if (!grp) {
>                               continue;
> @@ -1914,11 +1914,12 @@ int cgroup_change_cgroup_uid_gid_flags(const uid_t 
> uid, const gid_t gid,
>               }
>       }
>       cgroup_dbg("Found matching rule %s for PID: %d, UID: %d, GID: %d\n",
> -                     tmp->name, pid, uid, gid);
> +                     tmp->username, pid, uid, gid);
>  
>       /* If we are here, then we found a matching rule, so execute it. */
>       do {
> -             cgroup_dbg("Executing rule %s for PID %d... ", tmp->name, pid);
> +             cgroup_dbg("Executing rule %s for PID %d... ", tmp->username,
> +                                                             pid);
>               ret = cgroup_change_cgroup_path(tmp->destination,
>                               pid, tmp->controllers);
>               if (ret) {
> @@ -1932,7 +1933,7 @@ int cgroup_change_cgroup_uid_gid_flags(const uid_t uid, 
> const gid_t gid,
>                * we just executed.
>                */
>               tmp = tmp->next;
> -     } while (tmp && (tmp->name[0] == '%'));
> +     } while (tmp && (tmp->username[0] == '%'));
>  
>  finished:
>       return ret;
> @@ -2007,7 +2008,7 @@ void cgroup_print_rules_config(FILE *fp)
>  
>       itr = rl.head;
>       while (itr) {
> -             fprintf(fp, "Rule: %s\n", itr->name);
> +             fprintf(fp, "Rule: %s\n", itr->username);
>  
>               if (itr->uid == CGRULE_WILD)
>                       fprintf(fp, "  UID: any\n");
> diff --git a/src/libcgroup-internal.h b/src/libcgroup-internal.h
> index 001da1a..9e69f10 100644
> --- a/src/libcgroup-internal.h
> +++ b/src/libcgroup-internal.h
> @@ -74,7 +74,7 @@ struct cgroup_rules_data {
>  struct cgroup_rule {
>       uid_t uid;
>       gid_t gid;
> -     char name[LOGIN_NAME_MAX];
> +     char username[LOGIN_NAME_MAX];
>       char destination[FILENAME_MAX];
>       char *controllers[MAX_MNT_ELEMENTS];
>       struct cgroup_rule *next;
> 
> ------------------------------------------------------------------------------
> Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
> is a gathering of tech-side developers & brand creativity professionals. Meet
> the minds behind Google Creative Lab, Visual Complexity, Processing, & 
> iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
> Group, R/GA, & Big Spaceship. http://www.creativitycat.com 
> _______________________________________________
> Libcg-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/libcg-devel


------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT 
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian 
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
_______________________________________________
Libcg-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libcg-devel

Reply via email to