]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/plugins/radius/clientid.c
pppd.8: Document netmask option
[ppp.git] / pppd / plugins / radius / clientid.c
index d49579c43cc3ec10039bf754268495dcad16c4fa..eea516505d730436569aa0070ec197d9be4fbf0f 100644 (file)
@@ -68,6 +68,7 @@ int rc_read_mapfile(char *filename)
 
                        if ((p = (struct map2id_s *)malloc(sizeof(*p))) == NULL) {
                                novm("rc_read_mapfile");
+                               fclose(mapfd);
                                return (-1);
                        }
 
@@ -79,6 +80,7 @@ int rc_read_mapfile(char *filename)
                } else {
 
                        error("rc_read_mapfile: malformed line in %s, line %d", filename, lnr);
+                       fclose(mapfd);
                        return (-1);
 
                }
@@ -101,7 +103,7 @@ int rc_read_mapfile(char *filename)
  * 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];
@@ -110,7 +112,7 @@ UINT4 rc_map2id(char *name)
        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;