fix for Schema retrieval crashes, bug 232298

This commit is contained in:
etsai%netscape.com 2004-02-25 23:11:43 +00:00
Родитель d48f3eb7ef
Коммит 7a16b37b18
2 изменённых файлов: 25 добавлений и 10 удалений

Просмотреть файл

@ -18,6 +18,7 @@
* Rights Reserved.
*
* Contributor(s):
* Ingo Schaefer (ingo.schaefer@fh-brandenburg.de)
*/
package netscape.ldap;
@ -220,12 +221,19 @@ public class LDAPMatchingRuleSchema extends LDAPAttributeSchema {
if ( use != null ) {
parseValue( use );
}
Vector v = (Vector)properties.get( "APPLIES" );
if ( v != null ) {
attributes = new String[v.size()];
v.copyInto( attributes );
v.removeAllElements();
Object p = properties.get( "APPLIES" );
if ( p instanceof Vector ) {
Vector v = (Vector) p;
if ( v != null ) {
attributes = new String[v.size()];
v.copyInto( attributes );
v.removeAllElements();
}
}
else if ( p instanceof String ) {
attributes = new String[1];
attributes[0] = (String) p;
}
String val = (String)properties.get( "SYNTAX" );
if ( val != null ) {
syntaxElement.syntaxString = val;

Просмотреть файл

@ -132,11 +132,18 @@ public class LDAPMatchingRuleUseSchema extends LDAPAttributeSchema {
public LDAPMatchingRuleUseSchema( String use ) {
attrName = "matchingruleuse";
parseValue( use );
Vector v = (Vector)properties.get( "APPLIES" );
if ( v != null ) {
attributes = new String[v.size()];
v.copyInto( attributes );
v.removeAllElements();
Object p = properties.get( "APPLIES" );
if ( p instanceof Vector ) {
Vector v = (Vector)p;
if ( v != null ) {
attributes = new String[v.size()];
v.copyInto( attributes );
v.removeAllElements();
}
}
else if ( p instanceof String ) {
attributes = new String[1];
attributes[0] = (String)p;
}
}