Zablokowanie się programu na regcomp, gdy zastąpione funkcje menedżera pamięci

0

Przy kompilacji mojego programu mam opcję, która pozwala zastąpić funkcje libc menedżera pamięci (malloc, realloc, calloc, free, posix_memalign, malloc_usable_size) własnymi, obecnymi w programie. Metodą na zastąpienie tych funkcji jest uruchomienie programu przy ustawionej zmiennej środowiska LD_PRELOAD=lib.so (tutaj nazwa mojej biblioteki).

Natomiast jeśli włączę tę opcję zastąpienia funkcji i przekompiluję program, to przy uruchomieniu blokuje się on na funkcji regcomp uruchomionej z parametrem "^([^\n]*)$", gdzie “\n” oznacza rzeczywisty znak końca linii. Wcześniejsze dwa wywołania funkcji z innymi parametrami wykonują się poprawnie. Wyrażenia regularne to “extended RE” (POSIX).

Własny menedżer pamięci został sprawdzony w użyciu wprost (bez zastępowania funkcji libc), natomiast w zastępowanych funkcjach nie mogę korzystać z systemowego wypisywania komunikatów. Poza tym wcześniej, gdy własny menedżer pamięci zawierał jeszcze znane błędy, to tak samo po włączeniu tej opcji program blokował się na regcomp.

Jak rozwiązać ten problem?

0
overcq napisał(a):

Jak rozwiązać ten problem?

Tzn jaki?

Jakbym powiedział, że jasno podany, to bym skłamał

0

Jak się zajmujesz takimi rzeczami to powinieneś potrafić trochę więcej sprawdzić zanim zadałeś to pytanie, brutalnie mówiąc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1