From b9664cab88e940d2016f1b84502345018e4a4619 Mon Sep 17 00:00:00 2001 From: martijn Date: Thu, 31 Mar 2022 09:05:15 +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@ --- libexec/login_ldap/aldap.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/libexec/login_ldap/aldap.c b/libexec/login_ldap/aldap.c index 34a030a988a..d5f5769f5d5 100644 --- a/libexec/login_ldap/aldap.c +++ b/libexec/login_ldap/aldap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: aldap.c,v 1.1 2020/09/12 15:06:12 martijn Exp $ */ +/* $OpenBSD: aldap.c,v 1.2 2022/03/31 09:05:15 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