From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 12 Nov 2003 12:24:20 +0300 From: Sergey Vlasov To: ALT Devel discussion list Subject: Re: [devel] Re: middleman vs pcre Message-ID: <20031112092420.GC1775@sirius.home> Mail-Followup-To: ALT Devel discussion list References: <200311111729.20782.wrar@altlinux.ru> <200311111922.39750.wrar@altlinux.ru> <20031111143808.GA15999@master.mivlgu.local> <200311112036.34511.wrar@altlinux.ru> <20031111154750.GD15999@master.mivlgu.local> <20031112083249.GE1132@basalt.office.altlinux.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="QRj9sO5tAVLaXnSD" Content-Disposition: inline In-Reply-To: <20031112083249.GE1132@basalt.office.altlinux.org> X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.3 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2003 09:24:47 -0000 Archived-At: List-Archive: List-Post: --QRj9sO5tAVLaXnSD Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit On Wed, Nov 12, 2003 at 11:32:49AM +0300, Stanislav Ievlev wrote: > On Tue, Nov 11, 2003 at 06:47:50PM +0300, Sergey Vlasov wrote: > > On Tue, Nov 11, 2003 at 08:36:26PM +0500, Andrey Rahmatullin wrote: > > Content-Description: signed data > > > В сообщении от 11 Ноябрь 2003 19:38 Sergey Vlasov написал(a): > > > > > > [...] > > > > Попробуйте запустить программу под valgrind - он умеет отлавливать > > > > подобные ошибки > > > [...] > > > > > > Ой блин... > > > > > > ==16664== Invalid write of size 4 > > > ==16664== at 0x403261F9: regcomp (in /lib/libc-2.2.6.so) > > > ==16664== by 0x806F536: reg_compile (regexp.c:33) > > > ==16664== by 0x804C4E4: global_general_insert (global.c:464) > > > ==16664== by 0x804ACE6: global_load (global.c:102) > > > ==16664== Address 0x412BE104 is 4 bytes after a block of size 12 alloc'd > > > ==16664== at 0x40026942: malloc (vg_replace_malloc.c:153) > > > ==16664== by 0x806610C: xmalloc (mem.c:35) > > > ==16664== by 0x806F51F: reg_compile (regexp.c:31) > > > ==16664== by 0x804C4E4: global_general_insert (global.c:464) > > > > > > И так кучу раз (похоже, что на каждый регэксп). > > > > Вот бардак... У этой дряни что, собственное левое определение regex_t > > (такая гадость иногда встречается)? > Если это намёк на pcre, то почему сразу дрянь. Имеет право. > Всё что связано с regex это weekalias (как просвятил меня Дима). У > pcre же есть очень удобный POSIX интерфейс с поддержкой расширений > perl. А уж если POSIX интерфейс, то и есть regex_t. Было бы > удивительно если бы она (pcre) использовала glibc'шный. Ну здесь-то явно используется regcomp из glibc. Т.е. где-то перепутались заголовки и библиотеки. Против самой pcre я не выступаю. А вот pcreposix - это гадость, т.к. вполне может сломать работу POSIX regexp в других библиотеках (не glibc). Следовало бы делать эту эмуляцию не прямым переопределением regcomp/regexec/..., а через #define regcomp __pcre_regcomp в - тогда это бы влияло только на файлы, которые были скомпилированы с #include . --QRj9sO5tAVLaXnSD Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQE/sfxEW82GfkQfsqIRAueQAJ9rjNRE6UiBFk1PcQX9irmpFsfADACfbgSW KQlAyjam/KYyb70nJIjN2iI= =GE+S -----END PGP SIGNATURE----- --QRj9sO5tAVLaXnSD--