X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fad.c;h=8c5ea9fb4ee1e139419986e512debe3cf667f857;hb=b7f65f365a478d173ae8df9839ba92c11c3c2db6;hp=78a8b15629ae09a485799519d6ec3f704ef1d49b;hpb=a9f13553a7dc4b618d3521c938a216c0bc64822d;p=openldap diff --git a/servers/slapd/ad.c b/servers/slapd/ad.c index 78a8b15629..8c5ea9fb4e 100644 --- a/servers/slapd/ad.c +++ b/servers/slapd/ad.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2014 The OpenLDAP Foundation. + * Copyright 1998-2015 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -271,6 +271,7 @@ int slap_bv2ad( if( rc == 0 && (unsigned)optlen == tags[i].bv_len ) { /* duplicate (ignore) */ + ntags--; goto done; } else if ( rc > 0 || @@ -768,7 +769,8 @@ int slap_bv2undef_ad( desc->ad_cname.bv_len = bv->bv_len; desc->ad_cname.bv_val = (char *)(desc+1); - strcpy(desc->ad_cname.bv_val, bv->bv_val); + strncpy(desc->ad_cname.bv_val, bv->bv_val, bv->bv_len); + desc->ad_cname.bv_val[bv->bv_len] = '\0'; /* canonical to upper case */ ldap_pvt_str2upper( desc->ad_cname.bv_val );