]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/multilink.c
pppd: Don't free static string
[ppp.git] / pppd / multilink.c
index b4748cd6c885d30b023b5efd6d0f338f46429a0a..3aee0bcf6876686e73599835c483a1d585824cba 100644 (file)
@@ -204,7 +204,7 @@ mp_join_bundle()
                        /* make sure the string is null-terminated */
                        rec.dptr[rec.dsize-1] = 0;
                        /* parse the interface number */
-                       parse_num(rec.dptr, "IFNAME=ppp", &unit);
+                       parse_num(rec.dptr, "UNIT=", &unit);
                        /* check the pid value */
                        if (!parse_num(rec.dptr, "PPPD_PID=", &pppd_pid)
                            || !process_exists(pppd_pid)
@@ -278,8 +278,11 @@ void mp_bundle_terminated()
        key.dsize = strlen(blinks_id);
        tdb_delete(pppdb, key);
        unlock_db();
-       
-new_phase(PHASE_DEAD);
+
+       new_phase(PHASE_DEAD);
+
+       doing_multilink = 0;
+       multilink_master = 0;
 }
 
 static void make_bundle_links(int append)
@@ -417,7 +420,7 @@ owns_unit(key, unit)
        TDB_DATA kd, vd;
        int ret = 0;
 
-       slprintf(ifkey, sizeof(ifkey), "IFNAME=ppp%d", unit);
+       slprintf(ifkey, sizeof(ifkey), "UNIT=%d", unit);
        kd.dptr = ifkey;
        kd.dsize = strlen(ifkey);
        vd = tdb_fetch(pppdb, kd);
@@ -586,4 +589,3 @@ str_to_epdisc(ep, str)
        ep->length = l;
        return 1;
 }
-