Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Joe Martin
OpenLDAP
Commits
5ab65565
Commit
5ab65565
authored
Apr 06, 2006
by
Kurt Zeilenga
Browse files
Fixed slapd slap_realloc misuse (ITS#4477)
parent
93379e17
Changes
4
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
5ab65565
...
...
@@ -12,6 +12,7 @@ OpenLDAP 2.3.21 Release
Fixed slapd "threads" config value checking (ITS#4433)
Fixed slapd connection index bound check (ITS#4449)
Fixed slapd connection cleanup (ITS#4465)
Fixed slapd slap_realloc misuse (ITS#4477)
Fixed slapd-ldbm crash on modify bug (ITS#4464)
Fixed slapd-ldap potential bind deadlock (ITS#4409)
Fixed slapd-ldap/meta conn expiration concurrency (ITS#4429)
...
...
servers/slapd/back-ldif/ldif.c
View file @
5ab65565
...
...
@@ -352,7 +352,7 @@ static int r_enum_tree(enumCookie *ck, struct berval *path,
}
else
{
/* Queueing up for tool mode */
if
(
ck
->
entries
==
NULL
)
{
ck
->
entries
=
(
Entry
**
)
SLAP_MALLOC
(
sizeof
(
Entry
*
)
*
ENTRY_BUFF_INCREMENT
);
ck
->
entries
=
(
Entry
**
)
ch_malloc
(
sizeof
(
Entry
*
)
*
ENTRY_BUFF_INCREMENT
);
ck
->
elen
=
ENTRY_BUFF_INCREMENT
;
}
if
(
ck
->
eind
>=
ck
->
elen
)
{
/* grow entries if necessary */
...
...
servers/slapd/referral.c
View file @
5ab65565
...
...
@@ -108,12 +108,7 @@ static char * referral_dn_muck(
}
muck
.
bv_len
=
ntargetDN
.
bv_len
+
nrefDN
.
bv_len
-
nbaseDN
.
bv_len
;
muck
.
bv_val
=
SLAP_MALLOC
(
muck
.
bv_len
+
1
);
if
(
muck
.
bv_val
==
NULL
)
{
Debug
(
LDAP_DEBUG_ANY
,
"referral_dn_muck: SLAP_MALLOC failed
\n
"
,
0
,
0
,
0
);
return
NULL
;
}
muck
.
bv_val
=
ch_malloc
(
muck
.
bv_len
+
1
);
strncpy
(
muck
.
bv_val
,
ntargetDN
.
bv_val
,
ntargetDN
.
bv_len
-
nbaseDN
.
bv_len
);
...
...
@@ -216,12 +211,7 @@ BerVarray referral_rewrite(
return
NULL
;
}
refs
=
SLAP_MALLOC
(
(
i
+
1
)
*
sizeof
(
struct
berval
)
);
if
(
refs
==
NULL
)
{
Debug
(
LDAP_DEBUG_ANY
,
"referral_rewrite: SLAP_MALLOC failed
\n
"
,
0
,
0
,
0
);
return
NULL
;
}
refs
=
ch_malloc
(
(
i
+
1
)
*
sizeof
(
struct
berval
)
);
for
(
iv
=
in
,
jv
=
refs
;
!
BER_BVISNULL
(
iv
);
iv
++
)
{
LDAPURLDesc
*
url
;
...
...
@@ -291,12 +281,7 @@ BerVarray get_entry_referrals(
if
(
i
<
1
)
return
NULL
;
refs
=
SLAP_MALLOC
(
(
i
+
1
)
*
sizeof
(
struct
berval
));
if
(
refs
==
NULL
)
{
Debug
(
LDAP_DEBUG_ANY
,
"get_entry_referrals: SLAP_MALLOC failed
\n
"
,
0
,
0
,
0
);
return
NULL
;
}
refs
=
ch_malloc
(
(
i
+
1
)
*
sizeof
(
struct
berval
));
for
(
iv
=
attr
->
a_vals
,
jv
=
refs
;
iv
->
bv_val
!=
NULL
;
iv
++
)
{
unsigned
k
;
...
...
servers/slapd/result.c
View file @
5ab65565
...
...
@@ -83,11 +83,7 @@ static char *v2ref( BerVarray ref, const char *text )
}
}
v2
=
SLAP_MALLOC
(
len
+
i
+
sizeof
(
"Referral:"
)
);
if
(
v2
==
NULL
)
{
Debug
(
LDAP_DEBUG_ANY
,
"v2ref: SLAP_MALLOC failed"
,
0
,
0
,
0
);
return
NULL
;
}
v2
=
ch_malloc
(
len
+
i
+
sizeof
(
"Referral:"
)
);
if
(
text
!=
NULL
)
{
strcpy
(
v2
,
text
);
...
...
@@ -100,10 +96,6 @@ static char *v2ref( BerVarray ref, const char *text )
for
(
i
=
0
;
ref
[
i
].
bv_val
!=
NULL
;
i
++
)
{
v2
=
ch_realloc
(
v2
,
len
+
ref
[
i
].
bv_len
+
1
);
if
(
v2
==
NULL
)
{
Debug
(
LDAP_DEBUG_ANY
,
"v2ref: SLAP_MALLOC failed"
,
0
,
0
,
0
);
return
NULL
;
}
v2
[
len
-
1
]
=
'\n'
;
AC_MEMCPY
(
&
v2
[
len
],
ref
[
i
].
bv_val
,
ref
[
i
].
bv_len
);
len
+=
ref
[
i
].
bv_len
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment