Don't leak the uri of a delta with duplicate serial.
authortb <tb@openbsd.org>
Fri, 2 Apr 2021 08:07:47 +0000 (08:07 +0000)
committertb <tb@openbsd.org>
Fri, 2 Apr 2021 08:07:47 +0000 (08:07 +0000)
ok claudio deraadt

usr.sbin/rpki-client/rrdp_notification.c

index 501e517..7381e0e 100644 (file)
@@ -62,6 +62,8 @@ struct notification_xml {
        enum notification_scope  scope;
 };
 
+static void    free_delta(struct delta_item *);
+
 static int
 add_delta(struct notification_xml *nxml, const char *uri,
     const char hash[SHA256_DIGEST_LENGTH], long long serial)
@@ -85,7 +87,7 @@ add_delta(struct notification_xml *nxml, const char *uri,
                TAILQ_FOREACH(n, &nxml->delta_q, q) {
                        if (n->serial == serial) {
                                warnx("duplicate delta serial %lld ", serial);
-                               free(d);
+                               free_delta(d);
                                return 0;
                        }
                        if (n->serial > serial) {