From leo@yuriev.ru Mon Dec 29 08:03:00 2014 From: leo@yuriev.ru To: openldap-bugs@openldap.org Subject: Re: (ITS#8011) few mistakes in lmdb-backend Date: Mon, 29 Dec 2014 08:02:59 +0000 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0676664233908594825==" --===============0676664233908594825== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable --e89a8f8389d11704db050b564d2b Content-Type: multipart/alternative; boundary=3De89a8f8389d11704d5050b564d29 --e89a8f8389d11704d5050b564d29 Content-Type: text/plain; charset=3DUTF-8 Updated. Please pickup. Leonid. 2014-12-29 1:13 GMT+03:00 Howard Chu : > leo(a)yuriev.ru wrote: > >> @@ -1265,8 +1264,10 @@ static void *search_stack( Operation *op ) >> } >> >> if ( !ret ) { >> - ret =3D ch_malloc( mdb->mi_search_stack_depth * >> MDB_IDL_UM_SIZE >> - * sizeof( ID ) ); >> + size_t case_stack =3D mdb->mi_search_stack_depth * >> MDB_IDL_UM_SIZE * sizeof( ID ); >> + size_t case_sctmp =3D MDB_IDL_UM_SIZE * sizeof( ID2 ); >> + size_t size =3D (case_stack > case_sctmp) ? case_stack : >> case_sctmp; >> + ret =3D ch_malloc( size ); >> if ( op->o_threadctx ) { >> ldap_pvt_thread_pool_setkey( op->o_threadctx, >> (void *)search_stack, >> ret, search_stack_free, NULL, NULL ); >> >> > Unnecessary. > > -- > -- Howard Chu > CTO, Symas Corp. http://www.symas.com > Director, Highland Sun http://highlandsun.com/hyc/ > Chief Architect, OpenLDAP http://www.openldap.org/project/ > --e89a8f8389d11704d5050b564d29 Content-Type: text/html; charset=3DUTF-8 Content-Transfer-Encoding: quoted-printable
Updated.
Please pickup.

Leonid.
= =3D

2014-12-29 1:13= G=3D MT+03:00 Howard Chu <hyc(a)symas.com>:
leo(a)yuriev.= ru=3D wrote:
@@ -1265,8 +1264,10 @@ static void *search_stack( Operation *op )
=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 }

=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 if ( !ret ) {
-=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0= =3DC2=3DA0ret =3D3D ch_malloc( =3D mdb->mi_search_stack_depth * MDB_IDL_UM_SIZE
-=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0= =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3D =3DA0 =3DC2=3DA0* sizeof( ID ) );
+=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0= =3DC2=3DA0size_t case_stack =3D =3D3D mdb->mi_search_stack_depth * MDB_IDL_UM_SIZE * sizeof( ID );
+=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0= =3DC2=3DA0size_t case_sctmp =3D =3D3D MDB_IDL_UM_SIZE * sizeof( ID2 );
+=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0= =3DC2=3DA0size_t size =3D3D (ca=3D se_stack > case_sctmp) ? case_stack : case_sctmp;
+=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0= =3DC2=3DA0ret =3D3D ch_malloc( =3D size );
=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 = =3DC2=3DA0 if ( op->o_threa=3D dctx ) {
=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 = =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3D =3DA0 =3DC2=3DA0 ldap_pvt_thread_pool_setkey( op->o_threadctx, (void *)sea= rch_=3D stack,
=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 = =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3D =3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 ret, search_stac= k_free, NULL, NULL )=3D ;


Unnecessary.

--
=3DC2=3DA0 -- Howard Chu
=3DC2=3DA0 CTO, Symas Corp.=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2= =3DA0 =3DC2=3DA0http://www.symas.com
=3DC2=3DA0 Director, Highland Sun=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0http://highlandsun.com/hyc/
=3DC2=3DA0 Chief Architect, OpenLDAP=3DC2=3DA0 http://www.openldap.org/project/

--e89a8f8389d11704d5050b564d29-- --e89a8f8389d11704db050b564d2b Content-Type: text/x-patch; charset=3DUS-ASCII; name=3D"its8011.patch" Content-Disposition: attachment; filename=3D"its8011.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i49k3q0m0 Y29tbWl0IDA1ODdiOTA0YWVhOWNkMmVjNjc2YWFjNzM2MDM0ODNiODA1ODE2ZTAKQXV0aG9yOiBM ZW8gWXVyaWV2IDxsZW9AeXVyaWV2LnJ1PgpEYXRlOiAgIDIwMTQtMTItMjggMjM6MTQ6NTIgKzAz MDAKCiAgICBJVFMjODAxMTogZmV3IGNvcnJlY3Rpb25zIGZvciBsbWRiLWJhY2tlbmQ7CiAgICAK ICAgICBkbjJpZC5jOgogICAgICAgKyBhc3NlcnRpb24gZm9yIG1kYl9pZDJsX2luc2VydCgpIHJl c3VsdDsKICAgICAgIC0gdW5uZWNlc3NhcnkgYXNzaWdubWVudDsKICAgIAogICAgIHNlYXJjaC5j OgogICAgICAgLSB1bnVzZWQgdmFyaWFibGUgJ2ZpcnN0JzsKICAgICAgICsgcmFuZ2UtY2hlY2sg Zm9yIG1kYl9pZGxfc2VhcmNoKCkgcmVzdWx0OwoKZGlmZiAtLWdpdCBhL3NlcnZlcnMvc2xhcGQv YmFjay1tZGIvZG4yaWQuYyBiL3NlcnZlcnMvc2xhcGQvYmFjay1tZGIvZG4yaWQuYwppbmRleCA0 MWM0NzU4Li4wODkwYmNlIDEwMDY0NAotLS0gYS9zZXJ2ZXJzL3NsYXBkL2JhY2stbWRiL2RuMmlk LmMKKysrIGIvc2VydmVycy9zbGFwZC9iYWNrLW1kYi9kbjJpZC5jCkBAIC03NDYsNyArNzQ2LDgg QEAgbWRiX2lkc2NvcGVzKAogCQkJLyogcmVtZW1iZXIgb3VyIGNoYWluIG9mIHBhcmVudHMgKi8K IAkJCWlkMi5taWQgPSBpZDsKIAkJCWlkMi5tdmFsID0gZGF0YTsKLQkJCW1kYl9pZDJsX2luc2Vy dCggaXNjLT5zY3RtcCwgJmlkMiApOworCQkJcmMgPSBtZGJfaWQybF9pbnNlcnQoIGlzYy0+c2N0 bXAsICZpZDIgKTsKKwkJCWFzc2VydChyYyA9PSAwKTsKIAkJfQogCQlwdHIgPSBkYXRhLm12X2Rh dGE7CiAJCXB0ciArPSBkYXRhLm12X3NpemUgLSBzaXplb2YoSUQpOwpAQCAtNzYwLDkgKzc2MSwx MSBAQCBtZGJfaWRzY29wZXMoCiAJCWlmICggeCA8PSBpc2MtPnNjb3Blc1swXS5taWQgJiYgaXNj LT5zY29wZXNbeF0ubWlkID09IGlkICkgewogCQkJaWYgKCAhaXNjLT5zY29wZXNbeF0ubXZhbC5t dl9kYXRhICkgewogCQkJCS8qIFRoaXMgbm9kZSBpcyBpbiBzY29wZSwgYWRkIHBhcmVudCBjaGFp biB0byBzY29wZSAqLwotCQkJCWludCBpID0gaXNjLT5zY3RtcFswXS5taWQ7Ci0JCQkJZm9yICgg aSA9IDE7IGkgPD0gaXNjLT5zY3RtcFswXS5taWQ7IGkrKyApCi0JCQkJCW1kYl9pZDJsX2luc2Vy dCggaXNjLT5zY29wZXMsICZpc2MtPnNjdG1wW2ldICk7CisJCQkJaW50IGk7CisJCQkJZm9yICgg aSA9IDE7IGkgPD0gaXNjLT5zY3RtcFswXS5taWQ7IGkrKyApIHsKKwkJCQkJcmMgPSBtZGJfaWQy bF9pbnNlcnQoIGlzYy0+c2NvcGVzLCAmaXNjLT5zY3RtcFtpXSApOworCQkJCQlhc3NlcnQocmMg PT0gMCk7CisJCQkJfQogCQkJCS8qIGNoZWNrIGlkIGFnYWluIHNpbmNlIGluc2VydHMgbWF5IGhh dmUgY2hhbmdlZCBpdHMgcG9zaXRpb24gKi8KIAkJCQlpZiAoIGlzYy0+c2NvcGVzW3hdLm1pZCAh PSBpZCApCiAJCQkJCXggPSBtZGJfaWQybF9zZWFyY2goIGlzYy0+c2NvcGVzLCBpZCApOwpkaWZm IC0tZ2l0IGEvc2VydmVycy9zbGFwZC9iYWNrLW1kYi9zZWFyY2guYyBiL3NlcnZlcnMvc2xhcGQv YmFjay1tZGIvc2VhcmNoLmMKaW5kZXggOTA4OTAxNi4uMTg1ZDlmMSAxMDA2NDQKLS0tIGEvc2Vy dmVycy9zbGFwZC9iYWNrLW1kYi9zZWFyY2guYworKysgYi9zZXJ2ZXJzL3NsYXBkL2JhY2stbWRi L3NlYXJjaC5jCkBAIC0xNDAsNyArMTQwLDYgQEAgc3RhdGljIGludCBzZWFyY2hfYWxpYXNlcygK IAlzdHJ1Y3QgYmVydmFsIGJ2X2FsaWFzID0gQkVSX0JWQyggImFsaWFzIiApOwogCUF0dHJpYnV0 ZUFzc2VydGlvbiBhYV9hbGlhcyA9IEFUVFJJQlVURUFTU0VSVElPTl9JTklUOwogCUZpbHRlcglh ZjsKLQlpbnQgZmlyc3QgPSAxOwogCiAJYWxpYXNlcyA9IHN0YWNrOwkvKiBJREwgb2YgYWxsIGFs aWFzZXMgaW4gdGhlIGRhdGFiYXNlICovCiAJY3Vyc2NvcCA9IGFsaWFzZXMgKyBNREJfSURMX0RC X1NJWkU7CS8qIEFsaWFzZXMgaW4gdGhlIGN1cnJlbnQgc2NvcGUgKi8KQEAgLTgwNyw3ICs4MDYs NyBAQCBsb29wX2JlZ2luOgogCQkJCQlzY29wZW9rID0gMTsKIAkJCX0gZWxzZSB7CiAJCQkJaSA9 IG1kYl9pZGxfc2VhcmNoKCBjYW5kaWRhdGVzLCBpZCApOwotCQkJCWlmICggY2FuZGlkYXRlc1tp XSA9PSBpZCApCisJCQkJaWYgKGkgPD0gY2FuZGlkYXRlc1swXSAmJiBjYW5kaWRhdGVzW2ldID09 IGlkICkKIAkJCQkJc2NvcGVvayA9IDE7CiAJCQl9CiAJCQlpZiAoIHNjb3Blb2sgKQo=3D --e89a8f8389d11704db050b564d2b-- --===============0676664233908594825==--