]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/main.c
pppd: Fix `ifname` option in case of multilink (#105)
[ppp.git] / pppd / main.c
index 41be5328d4b8d7b7af89935cc66f093a5b932da9..9e9803a2c81fdce2e44f781cc98f354b557df08d 100644 (file)
@@ -743,6 +743,9 @@ set_ifunit(iskey)
        slprintf(ifname, sizeof(ifname), "%s%d", PPP_DRV_NAME, ifunit);
     info("Using interface %s", ifname);
     script_setenv("IFNAME", ifname, iskey);
+    char ifkey[32];
+    slprintf(ifkey, sizeof(ifkey), "%d", ifunit);
+    script_setenv("UNIT", ifkey, iskey);
     if (iskey) {
        create_pidfile(getpid());       /* write pid to file */
        create_linkpidfile(getpid());
@@ -1574,7 +1577,8 @@ safe_fork(int infd, int outfd, int errfd)
        /* Executing in the child */
        sys_close();
 #ifdef USE_TDB
-       tdb_close(pppdb);
+       if (pppdb != NULL)
+               tdb_close(pppdb);
 #endif
 
        /* make sure infd, outfd and errfd won't get tromped on below */