@@ -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))
{