On Wed, Jun 27, 2018 at 10:05:52AM -0400, Rob Pierce wrote:
> This ber.c change has been in ldapd since rev 1.1 and was applied to snmpd
> back
> in 2012. The following diff applies the change to the ldap client and ypldap.
>
> Ok?
looks right,
>
> Index: usr.bin/ldap/ber.c
> ===================================================================
> RCS file: /cvs/src/usr.bin/ldap/ber.c,v
> retrieving revision 1.2
> diff -u -p -r1.2 ber.c
> --- usr.bin/ldap/ber.c 27 Jun 2018 13:22:17 -0000 1.2
> +++ usr.bin/ldap/ber.c 27 Jun 2018 13:55:51 -0000
> @@ -269,7 +269,7 @@ ber_add_nstring(struct ber_element *prev
> struct ber_element *elm;
> char *string;
>
> - if ((string = calloc(1, len)) == NULL)
> + if ((string = calloc(1, len + 1)) == NULL)
> return NULL;
> if ((elm = ber_get_element(BER_TYPE_OCTETSTRING)) == NULL) {
> free(string);
>
> Index: usr.sbin/ypldap/ber.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/ypldap/ber.c,v
> retrieving revision 1.14
> diff -u -p -r1.14 ber.c
> --- usr.sbin/ypldap/ber.c 27 Jun 2018 13:22:17 -0000 1.14
> +++ usr.sbin/ypldap/ber.c 27 Jun 2018 13:55:51 -0000
> @@ -269,7 +269,7 @@ ber_add_nstring(struct ber_element *prev
> struct ber_element *elm;
> char *string;
>
> - if ((string = calloc(1, len)) == NULL)
> + if ((string = calloc(1, len + 1)) == NULL)
> return NULL;
> if ((elm = ber_get_element(BER_TYPE_OCTETSTRING)) == NULL) {
> free(string);
>