Merge branch '2.4.x' into 2.5.x
authorMark Wooding <mdw@distorted.org.uk>
Tue, 8 Oct 2019 10:45:56 +0000 (11:45 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Tue, 8 Oct 2019 10:45:56 +0000 (11:45 +0100)
* 2.4.x:
  key/key-io.c: Mark `exptime' function `static'.
  key/key-io.c (key_new): Don't leak attribute `sym_table' on error.

debian/catacomb2.symbols
key/key-io.c

index 02e84ed..36f4a56 100644 (file)
@@ -4406,7 +4406,6 @@ libcatacomb.so.2 catacomb2 #MINVER#
 ## key-io
        key_new@Base 2.1.1
        key_open@Base 2.3.1
-       exptime@Base 2.1.1
        key_close@Base 2.1.1
        key_discard@Base 2.1.1
        key_extract@Base 2.3.1
index c79c8e0..5a7ce5c 100644 (file)
@@ -139,7 +139,7 @@ static int insert(key_file *f, key *k)
  * Use:                Translates an expiry or deletion time.
  */
 
-time_t exptime(const char *p)
+static time_t exptime(const char *p)
 {
   size_t sz = strlen(p);
   if (strncmp(p, "expired", sz) == 0)
@@ -552,12 +552,12 @@ int key_new(key_file *f, uint32 id, const char *type, time_t exp, key **kk)
     k->exp = k->del = exp;
     k->c = 0;
     k->type = (char *)type; /* temporarily */
-    sym_create(&k->a);
     if ((e = insert(f, k)) != 0)
       DESTROY(k);
     else {
       k->k = key_newstring(KCAT_SHARE, "<unset>");
       k->type = xstrdup(type);
+      sym_create(&k->a);
       *kk = k;
       f->f |= KF_MODIFIED;
     }