9 лет висело ружье на стене (судя по CVS с 1.72 от 16-Oct-01)
moko 01.06.2010 17:37
Проблема есть, есть и решение. Интересно, что вылезло это только на конкретной конфигурации - получается во всех остальных системных библиотеках используется реализация memcpy, которой не принциально пересечение областей. Но потенциально может вылезти где угодно и когда угодно. :( На остальные memcpy в коде тоже посмотрим.
man memcpy:
The memcpy() function copies n bytes from memory area src to memory area dest. The memory areas should not overlap. Use memmove(3) if the memory areas do overlap.
>cvs diff -u pa_common.C
Index: pa_common.C
===================================================================
RCS file: /parser3project/parser3/src/main/pa_common.C,v
retrieving revision 1.259
diff -u -r1.259 pa_common.C
--- pa_common.C 25 May 2010 09:30:30 -0000 1.259
+++ pa_common.C 1 Jun 2010 13:18:16 -0000
@@ -102,7 +102,7 @@
while(char* eol=(char*)memchr(bol, '\r', eob -bol)) {
size_t len=eol-bol;
if(dest!=bol)
- memcpy(dest, bol, len);
+ memmove(dest, bol, len);
dest+=len;
*dest++='\n';
@@ -114,7 +114,7 @@
}
// last piece without \r
if(dest!=bol)
- memcpy(dest, bol, eob-bol);
+ memmove(dest, bol, eob-bol);
str[length]=0; // terminating
}
P.S. Вызов fix_line_breaks идет из VForm::AppendFormEntry.
- Портятся запощенные данные, zobzn 21.05.2010 17:31
- У меня подобное было в большой multipart-форме, Ышлщя 25.05.2010 21:19
- пока никаких идей нет, Misha v.3 [M] 22.05.2010 02:55
- в некоторых случаях еще и символы портятся, zobzn 22.05.2010 22:05
- без изменений, zobzn 22.05.2010 21:39
- Список модулей apache? (-), MoKo 23.05.2010 00:56
- Ответ, zobzn 23.05.2010 13:29
- Странно все это, MoKo 25.05.2010 06:40
- Ответ, zobzn 25.05.2010 13:01
- Ответ, Misha v.3 [M] 25.05.2010 13:27
- Ответ, zobzn 25.05.2010 17:54
- Про OS он писал в начальном топике, moko [M] 25.05.2010 17:33
- Ответ, zobzn 25.05.2010 17:59
- Ответ, Misha v.3 [M] 25.05.2010 18:16 / 25.05.2010 18:23
- Ответ, zobzn 25.05.2010 18:50
- шаманство какое-то, Misha v.3 [M] 26.05.2010 05:31 / 26.05.2010 05:31
- Ответ, zobzn 26.05.2010 12:31
- Ответ, Misha v.3 [M] 26.05.2010 15:53
- Сомневаюсь..., moko [M] 26.05.2010 16:46
- Ответ, zobzn 28.05.2010 15:21
- gdb, MoKo 31.05.2010 01:19
- 9 лет висело ружье на стене (судя по CVS с 1.72 от 16-Oct-01), moko [M] 01.06.2010 17:37
- Ответ, zobzn 01.06.2010 18:06
- Ответ, zobzn 26.05.2010 17:03