projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix name delete problem.
[openssl.git]
/
crypto
/
x509
/
x509name.c
diff --git
a/crypto/x509/x509name.c
b/crypto/x509/x509name.c
index 8223ec069d48a29c755f31fbccc0e5c7d0821f18..dbf9d224ec429c5ac10805b3bbcc6e6bf761c613 100644
(file)
--- a/
crypto/x509/x509name.c
+++ b/
crypto/x509/x509name.c
@@
-1,5
+1,5
@@
/* crypto/x509/x509name.c */
/* crypto/x509/x509name.c */
-/* Copyright (C) 1995-199
7
Eric Young (eay@cryptsoft.com)
+/* Copyright (C) 1995-199
8
Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
* This package is an SSL implementation written
* All rights reserved.
*
* This package is an SSL implementation written
@@
-103,37
+103,38
@@
X509_NAME *name;
return(sk_num(name->entries));
}
return(sk_num(name->entries));
}
-int X509_NAME_get_index_by_NID(name,nid,
old
pos)
+int X509_NAME_get_index_by_NID(name,nid,
last
pos)
X509_NAME *name;
int nid;
X509_NAME *name;
int nid;
-int
old
pos;
+int
last
pos;
{
ASN1_OBJECT *obj;
obj=OBJ_nid2obj(nid);
if (obj == NULL) return(-2);
{
ASN1_OBJECT *obj;
obj=OBJ_nid2obj(nid);
if (obj == NULL) return(-2);
- return(X509_NAME_get_index_by_OBJ(name,obj,
old
pos));
+ return(X509_NAME_get_index_by_OBJ(name,obj,
last
pos));
}
}
-int X509_NAME_get_index_by_OBJ(name,obj,oldpos)
+/* NOTE: you should be passsing -1, not 0 as lastpos */
+int X509_NAME_get_index_by_OBJ(name,obj,lastpos)
X509_NAME *name;
ASN1_OBJECT *obj;
X509_NAME *name;
ASN1_OBJECT *obj;
-int
old
pos;
+int
last
pos;
{
int n;
X509_NAME_ENTRY *ne;
STACK *sk;
if (name == NULL) return(-1);
{
int n;
X509_NAME_ENTRY *ne;
STACK *sk;
if (name == NULL) return(-1);
- if (
old
pos < 0)
-
old
pos= -1;
+ if (
last
pos < 0)
+
last
pos= -1;
sk=name->entries;
n=sk_num(sk);
sk=name->entries;
n=sk_num(sk);
- for (
oldpos++; oldpos < n; old
pos++)
+ for (
lastpos++; lastpos < n; last
pos++)
{
{
- ne=(X509_NAME_ENTRY *)sk_value(sk,
old
pos);
+ ne=(X509_NAME_ENTRY *)sk_value(sk,
last
pos);
if (OBJ_cmp(ne->object,obj) == 0)
if (OBJ_cmp(ne->object,obj) == 0)
- return(
old
pos);
+ return(
last
pos);
}
return(-1);
}
}
return(-1);
}
@@
-180,11
+181,8
@@
int loc;
* so basically only if prev and next differ by 2, then
* re-number down by 1 */
if (set_prev+1 < set_next)
* so basically only if prev and next differ by 2, then
* re-number down by 1 */
if (set_prev+1 < set_next)
- {
- j=set_next-set_prev-1;
for (i=loc; i<n; i++)
for (i=loc; i<n; i++)
- ((X509_NAME_ENTRY *)sk_value(sk,loc-1))->set-=j;
- }
+ ((X509_NAME_ENTRY *)sk_value(sk,i))->set--;
return(ret);
}
return(ret);
}