Blame SOURCES/libcgroup-0.40.rc1-templates-fix.patch

da3e87
diff -upr libcgroup-0.40.rc1.orig/src/api.c libcgroup-0.40.rc1/src/api.c
da3e87
--- libcgroup-0.40.rc1.orig/src/api.c	2013-09-26 17:48:57.997535000 +0200
da3e87
+++ libcgroup-0.40.rc1/src/api.c	2013-09-27 13:36:41.617642596 +0200
da3e87
@@ -2948,11 +2948,11 @@ int cgroup_change_cgroup_flags(uid_t uid
da3e87
 				available = FILENAME_MAX - j - 2;
da3e87
 				/* Substitution */
da3e87
 				switch(tmp->destination[++i]) {
da3e87
-				case 'u':
da3e87
+				case 'U':
da3e87
 					written = snprintf(newdest+j, available,
da3e87
 						"%d", uid);
da3e87
 					break;
da3e87
-				case 'U':
da3e87
+				case 'u':
da3e87
 					user_info = getpwuid(uid);
da3e87
 					if(user_info) {
da3e87
 						written = snprintf(newdest + j,
da3e87
@@ -2963,11 +2963,11 @@ int cgroup_change_cgroup_flags(uid_t uid
da3e87
 							available, "%d", uid);
da3e87
 					}
da3e87
 					break;
da3e87
-				case 'g':
da3e87
+				case 'G':
da3e87
 					written = snprintf(newdest + j,
da3e87
 						available, "%d", gid);
da3e87
 					break;
da3e87
-				case 'G':
da3e87
+				case 'g':
da3e87
 					group_info = getgrgid(gid);
da3e87
 					if(group_info) {
da3e87
 						written = snprintf(newdest + j,
da3e87
@@ -2978,15 +2978,15 @@ int cgroup_change_cgroup_flags(uid_t uid
da3e87
 							available, "%d", gid);
da3e87
 					}
da3e87
 					break;
da3e87
-				case 'p':
da3e87
+				case 'P':
da3e87
 					written = snprintf(newdest + j,
da3e87
 						available, "%d", pid);
da3e87
 					break;
da3e87
-				case 'P':
da3e87
-					if(procname) {
da3e87
+				case 'p':
da3e87
+					if(procname && strlen(basename(procname))) {
da3e87
 						written = snprintf(newdest + j,
da3e87
 							available, "%s",
da3e87
-							procname);
da3e87
+							basename(procname));
da3e87
 					} else {
da3e87
 						written = snprintf(newdest + j,
da3e87
 							available, "%d", pid);