[devel] Ошибка выделения памяти в malloc в 32-х битной архитектуре

Hihin Ruslan ruslandh на gmail.com
Сб Июл 25 18:39:28 MSK 2015


Здравствуйте Dmitry V. Levin
  В сообщении от 25 июля 2015 Dmitry V. Levin написал(a):
> On Sat, Jul 25, 2015 at 12:57:01PM +0300, Руслан Хихин wrote:
> > Вот с их помощью на это место и вышел.
>
> A: Because it messes up the order in which people normally
> read text. Q: Why is top-posting such a bad thing?
> A: Top-posting.
> Q: What is the most annoying thing in e-mail?

Вот как мне такое место расшифровать?

==19389== 3 bytes in 1 blocks are still reachable in loss record 
1 of 356
==19389==    at 0x40294DA: malloc (vg_replace_malloc.c:296)
==19389==    by 0x4271B40: strdup (strdup.c:42)
==19389==    by 0x47BE19C: PR_NewLogModule (prlog.c:356)
==19389==    by 0x47C9A0B: _PR_InitStuff (prinit.c:155)
==19389==    by 0x47D2E04: PR_NewLock (ptsynch.c:140)
==19389==    by 0x8AF30A3: InstallSignalHandlersMutex 
(AsmJSSignalHandlers.cpp:162)
==19389==    by 0x8AF30A3: 
__static_initialization_and_destruction_0 
(AsmJSSignalHandlers.cpp:177)
==19389==    by 0x8AF30A3: _GLOBAL__sub_I_AsmJSSignalHandlers.cpp 
(AsmJSSignalHandlers.cpp:998)
==19389==    by 0x400EFDD: call_init.part.0 (dl-init.c:82)
==19389==    by 0x400F0C9: call_init (dl-init.c:34)
==19389==    by 0x400F0C9: _dl_init (dl-init.c:130)
==19389==    by 0x401310C: dl_open_worker (dl-open.c:566)
==19389==    by 0x400EE4D: _dl_catch_error (dl-error.c:177)
==19389== +   by 0x4012943: _dl_open (dl-open.c:656)
==19389==    by 0x4046CCD: dlopen_doit (dlopen.c:66)
==19389==.

У меня такого файла в исходниках - vg_replace_malloc вообще нет, 
а strdup(42) - это неправильное присвоение:

char *s
....
s="";
....

c тем, что-бы дальше передать его в какой-то ....strlen

Вот дословно этот кусок:

PR_IMPLEMENT(char *)
PL_strndup(const char *s, PRUint32 max)
{
    char *rv;
    size_t l;

    if( (const char *)0 == s )
        s = "";

    l = PL_strnlen(s, max);

    rv = (char *)malloc(l+1);
    if( (char *)0 == rv ) return rv;

    (void)memcpy(rv, s, l);
    rv[l] = '\0';

    return rv;
}






-- 
  А ещё говорят так  (fortune):
 
<Iambe> you are not a nutcase <Knghtbrd> You obviously don't know 
me well enough yet. => 
________________________________________________________________________
С уважением Хихин Руслан
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 181 байтов
Описание: This is a digitally signed message part.
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20150725/fcab7b2d/attachment.bin>


Подробная информация о списке рассылки Devel