mirror of
https://git.yoctoproject.org/git/poky
synced 2026-01-04 16:10:04 +00:00
makedevs: Fix matching uid/gid
Correct the length to compare in convert2guid() to fix an issue where it ends up with returning a wrong id that matches partially. Also fix the length of usr_buf and grp_buf in interpret_table_entry() which are used as arguments of convert2guid(). (From OE-Core rev: 865b7149da5dd6301c1d9805a1e7bac8dcac82a9) Signed-off-by: Jaeyoon Jung <jaeyoon.jung@lge.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit ca9d193a21e6b8669c4da1a68cd5e0791bb80a4b) Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
parent
9d9325d07b
commit
008e269c6b
|
|
@ -202,7 +202,7 @@ static unsigned long convert2guid(char *id_buf, struct name_id *search_list)
|
|||
// Check for bad user/group name
|
||||
node = search_list;
|
||||
while (node != NULL) {
|
||||
if (!strncmp(node->name, id_buf, strlen(id_buf))) {
|
||||
if (!strncmp(node->name, id_buf, MAX_ID_LEN)) {
|
||||
fprintf(stderr, "WARNING: Bad user/group name %s detected\n", id_buf);
|
||||
break;
|
||||
}
|
||||
|
|
@ -212,7 +212,7 @@ static unsigned long convert2guid(char *id_buf, struct name_id *search_list)
|
|||
} else {
|
||||
node = search_list;
|
||||
while (node != NULL) {
|
||||
if (!strncmp(node->name, id_buf, strlen(id_buf)))
|
||||
if (!strncmp(node->name, id_buf, MAX_ID_LEN))
|
||||
return node->id;
|
||||
node = node->next;
|
||||
}
|
||||
|
|
@ -362,13 +362,13 @@ static void add_new_fifo(char *name, char *path, unsigned long uid,
|
|||
static int interpret_table_entry(char *line)
|
||||
{
|
||||
char *name;
|
||||
char usr_buf[MAX_ID_LEN];
|
||||
char grp_buf[MAX_ID_LEN];
|
||||
char path[4096], type;
|
||||
char usr_buf[MAX_ID_LEN+1];
|
||||
char grp_buf[MAX_ID_LEN+1];
|
||||
char path[PATH_MAX], type;
|
||||
unsigned long mode = 0755, uid = 0, gid = 0, major = 0, minor = 0;
|
||||
unsigned long start = 0, increment = 1, count = 0;
|
||||
|
||||
if (0 > sscanf(line, "%4095s %c %lo %39s %39s %lu %lu %lu %lu %lu", path,
|
||||
if (0 > sscanf(line, "%4095s %c %lo %40s %40s %lu %lu %lu %lu %lu", path,
|
||||
&type, &mode, usr_buf, grp_buf, &major, &minor, &start,
|
||||
&increment, &count))
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user