summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortb <tb@openbsd.org>2021-04-02 08:07:47 +0000
committertb <tb@openbsd.org>2021-04-02 08:07:47 +0000
commita6271a62ac7170d222303971037d6e90ce576007 (patch)
treef53d841aa70b1d7e86814f73cfb7f864abb7b7a3
parentswap rname and mname in debug output, and handle the USE_CD flag (diff)
downloadwireguard-openbsd-a6271a62ac7170d222303971037d6e90ce576007.tar.xz
wireguard-openbsd-a6271a62ac7170d222303971037d6e90ce576007.zip
Don't leak the uri of a delta with duplicate serial.
ok claudio deraadt
-rw-r--r--usr.sbin/rpki-client/rrdp_notification.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/usr.sbin/rpki-client/rrdp_notification.c b/usr.sbin/rpki-client/rrdp_notification.c
index 501e5176704..7381e0ee660 100644
--- a/usr.sbin/rpki-client/rrdp_notification.c
+++ b/usr.sbin/rpki-client/rrdp_notification.c
@@ -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) {