From 0ce1f88d02e1d738d17d82a4c2716f7e002b53b7 Mon Sep 17 00:00:00 2001 From: martijn Date: Thu, 31 Mar 2022 09:03:48 +0000 Subject: [PATCH] 'e' is no longer an optional element for ober_scanf_elements. This caused the last attribute to be dropped. Reported by Allan Streib (astreib fastmail fm) Reminded by Raf Czlonka (rczlonka gmail com) OK tb@ claudio@ --- usr.bin/ldap/aldap.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/usr.bin/ldap/aldap.c b/usr.bin/ldap/aldap.c index b8c647fcefe..aee14a62a7a 100644 --- a/usr.bin/ldap/aldap.c +++ b/usr.bin/ldap/aldap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: aldap.c,v 1.9 2019/10/24 12:39:26 tb Exp $ */ +/* $OpenBSD: aldap.c,v 1.10 2022/03/31 09:03:48 martijn Exp $ */ /* * Copyright (c) 2008 Alexander Schrijver @@ -580,15 +580,15 @@ int aldap_first_attr(struct aldap_message *msg, char **outkey, struct aldap_stringset **outvalues) { - struct ber_element *b, *c; + struct ber_element *b; char *key; struct aldap_stringset *ret; if (msg->body.search.attrs == NULL) goto fail; - if (ober_scanf_elements(msg->body.search.attrs, "{s(e)}e", - &key, &b, &c) != 0) + if (ober_scanf_elements(msg->body.search.attrs, "{s(e)}", + &key, &b) != 0) goto fail; msg->body.search.iter = msg->body.search.attrs->be_next; @@ -610,7 +610,7 @@ int aldap_next_attr(struct aldap_message *msg, char **outkey, struct aldap_stringset **outvalues) { - struct ber_element *a, *b; + struct ber_element *a; char *key; struct aldap_stringset *ret; @@ -622,8 +622,7 @@ aldap_next_attr(struct aldap_message *msg, char **outkey, if (ober_get_eoc(msg->body.search.iter) == 0) goto notfound; - if (ober_scanf_elements(msg->body.search.iter, "{s(e)}e", &key, &a, &b) - != 0) + if (ober_scanf_elements(msg->body.search.iter, "{s(e)}", &key, &a) != 0) goto fail; msg->body.search.iter = msg->body.search.iter->be_next; -- 2.20.1