if ((p = (struct map2id_s *)malloc(sizeof(*p))) == NULL) {
novm("rc_read_mapfile");
+ fclose(mapfd);
return (-1);
}
} else {
error("rc_read_mapfile: malformed line in %s, line %d", filename, lnr);
+ fclose(mapfd);
return (-1);
}
* Returns: port id, zero if no entry found
*/
-UINT4 rc_map2id(char *name)
+UINT4 rc_map2id(const char *name)
{
struct map2id_s *p;
char ttyname[PATH_MAX];
if (*name != '/')
strcpy(ttyname, "/dev/");
- strncat(ttyname, name, sizeof(ttyname));
+ strncat(ttyname, name, sizeof(ttyname) - strlen(ttyname) -1);
for(p = map2id_list; p; p = p->next)
if (!strcmp(ttyname, p->name)) return p->id;