* Re: [devel] [SCM] packages/gnupg2: heads/master
@ 2009-07-14 10:54 ` Dmitry V. Levin
2009-07-14 14:56 ` Sergey V Turchin
2009-07-14 17:37 ` Vladimir Lettiev
0 siblings, 2 replies; 12+ messages in thread
From: Dmitry V. Levin @ 2009-07-14 10:54 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1303 bytes --]
On Tue, Jul 14, 2009 at 01:46:56PM +0400, Sergey V. Turchin wrote:
> Update of /people/zerg/packages/gnupg2.git
>
> Changes statistics since `2.0.12-alt1' follows:
> gnupg-2.0.12-alt-fix-possible-overflow.patch | 11 +++++++++++
> gnupg2.spec | 7 ++++++-
> 2 files changed, 17 insertions(+), 1 deletions(-)
>
> Changelog since `2.0.12-alt1' follows:
> commit 54b3fff69fb0b00c12199b36fad930376a505fcc
> Author: Sergey V Turchin <zerg@altlinux.org>
> Date: Tue Jul 14 13:46:18 2009 +0400
>
> - fix 'always overflow' glibc check error
>
> Full diff since `2.0.12-alt1' follows:
> diff --git a/gnupg-2.0.12-alt-fix-possible-overflow.patch b/gnupg-2.0.12-alt-fix-possible-overflow.patch
> new file mode 100644
> index 0000000..6098b91
> --- /dev/null
> +++ b/gnupg-2.0.12-alt-fix-possible-overflow.patch
> @@ -0,0 +1,11 @@
> +--- gnupg-2.0.12/g10/keygen.c~ 2009-07-13 17:27:14 +0400
> ++++ gnupg-2.0.12/g10/keygen.c 2009-07-14 13:33:08 +0400
> +@@ -85,7 +85,7 @@ struct para_data_s {
> + u32 creation;
> + unsigned int usage;
> + struct revocation_key revkey;
> +- char value[1];
> ++ char value[21];
> + } u;
> + };
> +
После этого изменения gnupg2 начнёт падать.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] [SCM] packages/gnupg2: heads/master
2009-07-14 14:56 ` Sergey V Turchin
@ 2009-07-14 10:57 ` Dmitry V. Levin
2009-07-14 15:07 ` Sergey V Turchin
0 siblings, 1 reply; 12+ messages in thread
From: Dmitry V. Levin @ 2009-07-14 10:57 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 711 bytes --]
On Tue, Jul 14, 2009 at 02:56:30PM +0000, Sergey V Turchin wrote:
> On Tuesday 14 July 2009, Dmitry V. Levin wrote:
>
> [...]
> > > +--- gnupg-2.0.12/g10/keygen.c~ 2009-07-13 17:27:14 +0400
> > > ++++ gnupg-2.0.12/g10/keygen.c 2009-07-14 13:33:08 +0400
> > > +@@ -85,7 +85,7 @@ struct para_data_s {
> > > + u32 creation;
> > > + unsigned int usage;
> > > + struct revocation_key revkey;
> > > +- char value[1];
> > > ++ char value[21];
> > > + } u;
> > > + };
> > > +
> >
> > После этого изменения gnupg2 начнёт падать.
> Может кто-нибудь помочь?
У меня в gnupg1 тот же самый код.
Я напишу авторам, пусть они что-нибудь посоветуют.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] [SCM] packages/gnupg2: heads/master
2009-07-14 10:54 ` [devel] [SCM] packages/gnupg2: heads/master Dmitry V. Levin
@ 2009-07-14 14:56 ` Sergey V Turchin
2009-07-14 10:57 ` Dmitry V. Levin
2009-07-14 17:37 ` Vladimir Lettiev
1 sibling, 1 reply; 12+ messages in thread
From: Sergey V Turchin @ 2009-07-14 14:56 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 635 bytes --]
On Tuesday 14 July 2009, Dmitry V. Levin wrote:
[...]
> > +--- gnupg-2.0.12/g10/keygen.c~ 2009-07-13 17:27:14 +0400
> > ++++ gnupg-2.0.12/g10/keygen.c 2009-07-14 13:33:08 +0400
> > +@@ -85,7 +85,7 @@ struct para_data_s {
> > + u32 creation;
> > + unsigned int usage;
> > + struct revocation_key revkey;
> > +- char value[1];
> > ++ char value[21];
> > + } u;
> > + };
> > +
>
> После этого изменения gnupg2 начнёт падать.
Может кто-нибудь помочь?
--
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] [SCM] packages/gnupg2: heads/master
2009-07-14 10:57 ` Dmitry V. Levin
@ 2009-07-14 15:07 ` Sergey V Turchin
0 siblings, 0 replies; 12+ messages in thread
From: Sergey V Turchin @ 2009-07-14 15:07 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 285 bytes --]
On Tuesday 14 July 2009, Dmitry V. Levin wrote:
[...]
> У меня в gnupg1 тот же самый код.
> Я напишу авторам, пусть они что-нибудь посоветуют.
Заранее спасибо!
--
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] [SCM] packages/gnupg2: heads/master
2009-07-14 10:54 ` [devel] [SCM] packages/gnupg2: heads/master Dmitry V. Levin
2009-07-14 14:56 ` Sergey V Turchin
@ 2009-07-14 17:37 ` Vladimir Lettiev
2009-07-14 18:29 ` Ivan A. Melnikov
2009-07-14 22:51 ` Dmitry V. Levin
1 sibling, 2 replies; 12+ messages in thread
From: Vladimir Lettiev @ 2009-07-14 17:37 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1486 bytes --]
On Tue, Jul 14, 2009 at 02:54:16PM +0400, Dmitry V. Levin wrote:
> On Tue, Jul 14, 2009 at 01:46:56PM +0400, Sergey V. Turchin wrote:
> > --- /dev/null
> > +++ b/gnupg-2.0.12-alt-fix-possible-overflow.patch
> > @@ -0,0 +1,11 @@
> > +--- gnupg-2.0.12/g10/keygen.c~ 2009-07-13 17:27:14 +0400
> > ++++ gnupg-2.0.12/g10/keygen.c 2009-07-14 13:33:08 +0400
> > +@@ -85,7 +85,7 @@ struct para_data_s {
> > + u32 creation;
> > + unsigned int usage;
> > + struct revocation_key revkey;
> > +- char value[1];
^^^^^^^^^^^^^
> > ++ char value[21];
> > + } u;
> > + };
> > +
>
> После этого изменения gnupg2 начнёт падать.
Как я понимаю, это очень популярный приём для создания поля переменной длины в структуре.
Память выделяется как сумма sizeof(структура)+strlen(данные), а потом в поле, которое
объявлено размером в один байт загоняются данные большей длины и это срабатывает т.к.
памяти выделенно достаточно, хотя с точки зрения компилятора будет переполнение.
Как теперь быть? Какой правильный путь решения такой задачи?
--
Vladimir Lettiev aka crux
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] [SCM] packages/gnupg2: heads/master
2009-07-14 17:37 ` Vladimir Lettiev
@ 2009-07-14 18:29 ` Ivan A. Melnikov
2009-07-14 18:34 ` Led
2009-07-14 22:51 ` Dmitry V. Levin
1 sibling, 1 reply; 12+ messages in thread
From: Ivan A. Melnikov @ 2009-07-14 18:29 UTC (permalink / raw)
To: devel
В Tue, 14 Jul 2009 21:37:34 +0400
Vladimir Lettiev <thecrux@gmail.com> пишет:
> On Tue, Jul 14, 2009 at 02:54:16PM +0400, Dmitry V. Levin wrote:
> > On Tue, Jul 14, 2009 at 01:46:56PM +0400, Sergey V. Turchin wrote:
> > > --- /dev/null
> > > +++ b/gnupg-2.0.12-alt-fix-possible-overflow.patch
> > > @@ -0,0 +1,11 @@
> > > +--- gnupg-2.0.12/g10/keygen.c~ 2009-07-13 17:27:14 +0400
> > > ++++ gnupg-2.0.12/g10/keygen.c 2009-07-14 13:33:08 +0400
> > > +@@ -85,7 +85,7 @@ struct para_data_s {
> > > + u32 creation;
> > > + unsigned int usage;
> > > + struct revocation_key revkey;
> > > +- char value[1];
> ^^^^^^^^^^^^^
> > > ++ char value[21];
> > > + } u;
> > > + };
> > > +
> >
> > После этого изменения gnupg2 начнёт падать.
>
> Как я понимаю, это очень популярный приём для создания поля
> переменной длины в структуре. Память выделяется как сумма
> sizeof(структура)+strlen(данные), а потом в поле, которое объявлено
> размером в один байт загоняются данные большей длины и это
> срабатывает т.к. памяти выделенно достаточно, хотя с точки зрения
> компилятора будет переполнение.
>
> Как теперь быть? Какой правильный путь решения такой задачи?
>
Возможно, массив нулевой длины, с #if по поводу версии gcc.
http://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
--
WBR,
Ivan A. Melnikov
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] [SCM] packages/gnupg2: heads/master
2009-07-14 18:29 ` Ivan A. Melnikov
@ 2009-07-14 18:34 ` Led
0 siblings, 0 replies; 12+ messages in thread
From: Led @ 2009-07-14 18:34 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Tuesday 14 July 2009 21:29:59 Ivan A. Melnikov wrote:
> В Tue, 14 Jul 2009 21:37:34 +0400
>
> Vladimir Lettiev <thecrux@gmail.com> пишет:
> > On Tue, Jul 14, 2009 at 02:54:16PM +0400, Dmitry V. Levin wrote:
> > > On Tue, Jul 14, 2009 at 01:46:56PM +0400, Sergey V. Turchin wrote:
> > > > --- /dev/null
> > > > +++ b/gnupg-2.0.12-alt-fix-possible-overflow.patch
> > > > @@ -0,0 +1,11 @@
> > > > +--- gnupg-2.0.12/g10/keygen.c~ 2009-07-13 17:27:14 +0400
> > > > ++++ gnupg-2.0.12/g10/keygen.c 2009-07-14 13:33:08 +0400
> > > > +@@ -85,7 +85,7 @@ struct para_data_s {
> > > > + u32 creation;
> > > > + unsigned int usage;
> > > > + struct revocation_key revkey;
> > > > +- char value[1];
> >
> > ^^^^^^^^^^^^^
> >
> > > > ++ char value[21];
> > > > + } u;
> > > > + };
> > > > +
> > >
> > > После этого изменения gnupg2 начнёт падать.
> >
> > Как я понимаю, это очень популярный приём для создания поля
> > переменной длины в структуре. Память выделяется как сумма
> > sizeof(структура)+strlen(данные), а потом в поле, которое объявлено
> > размером в один байт загоняются данные большей длины и это
> > срабатывает т.к. памяти выделенно достаточно, хотя с точки зрения
> > компилятора будет переполнение.
> >
> > Как теперь быть? Какой правильный путь решения такой задачи?
>
> Возможно, массив нулевой длины, с #if по поводу версии gcc.
>
> http://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
ИМХО объявлять массив заранее зная, что он будет испорльзоваться только как
указатель - тупо. Или КРИВАЯ попытка обойти неудобство языка.
--
Led
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] [SCM] packages/gnupg2: heads/master
2009-07-14 17:37 ` Vladimir Lettiev
2009-07-14 18:29 ` Ivan A. Melnikov
@ 2009-07-14 22:51 ` Dmitry V. Levin
2009-08-18 22:47 ` Dmitry V. Levin
1 sibling, 1 reply; 12+ messages in thread
From: Dmitry V. Levin @ 2009-07-14 22:51 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1670 bytes --]
On Tue, Jul 14, 2009 at 09:37:34PM +0400, Vladimir Lettiev wrote:
> On Tue, Jul 14, 2009 at 02:54:16PM +0400, Dmitry V. Levin wrote:
> > On Tue, Jul 14, 2009 at 01:46:56PM +0400, Sergey V. Turchin wrote:
> > > --- /dev/null
> > > +++ b/gnupg-2.0.12-alt-fix-possible-overflow.patch
> > > @@ -0,0 +1,11 @@
> > > +--- gnupg-2.0.12/g10/keygen.c~ 2009-07-13 17:27:14 +0400
> > > ++++ gnupg-2.0.12/g10/keygen.c 2009-07-14 13:33:08 +0400
> > > +@@ -85,7 +85,7 @@ struct para_data_s {
> > > + u32 creation;
> > > + unsigned int usage;
> > > + struct revocation_key revkey;
> > > +- char value[1];
> ^^^^^^^^^^^^^
> > > ++ char value[21];
> > > + } u;
> > > + };
> > > +
> >
> > После этого изменения gnupg2 начнёт падать.
>
> Как я понимаю, это очень популярный приём для создания поля переменной длины в структуре.
Насчёт того, что это очень популярный приём, я не уверен, но то что этот
метод хорошо известен в узких кругах, это точно.
> Память выделяется как сумма sizeof(структура)+strlen(данные), а потом в поле, которое
> объявлено размером в один байт загоняются данные большей длины и это срабатывает т.к.
> памяти выделенно достаточно, хотя с точки зрения компилятора будет переполнение.
>
> Как теперь быть? Какой правильный путь решения такой задачи?
Задача в описанной вами форме (поле переменной длины в конце структуры)
решается с помощью массива переменной длины (flexible array member).
Но в gnupg/g10/keygen.c поле переменной длины помещено в union, который
помещён в структуру, а стандарт С не позволяет помещать flexible array
member в union.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] [SCM] packages/gnupg2: heads/master
2009-07-14 22:51 ` Dmitry V. Levin
@ 2009-08-18 22:47 ` Dmitry V. Levin
2009-08-18 22:51 ` Dmitry V. Levin
2009-08-19 9:17 ` Michael Shigorin
0 siblings, 2 replies; 12+ messages in thread
From: Dmitry V. Levin @ 2009-08-18 22:47 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 2007 bytes --]
On Wed, Jul 15, 2009 at 02:51:19AM +0400, Dmitry V. Levin wrote:
> On Tue, Jul 14, 2009 at 09:37:34PM +0400, Vladimir Lettiev wrote:
> > On Tue, Jul 14, 2009 at 02:54:16PM +0400, Dmitry V. Levin wrote:
> > > On Tue, Jul 14, 2009 at 01:46:56PM +0400, Sergey V. Turchin wrote:
> > > > --- /dev/null
> > > > +++ b/gnupg-2.0.12-alt-fix-possible-overflow.patch
> > > > @@ -0,0 +1,11 @@
> > > > +--- gnupg-2.0.12/g10/keygen.c~ 2009-07-13 17:27:14 +0400
> > > > ++++ gnupg-2.0.12/g10/keygen.c 2009-07-14 13:33:08 +0400
> > > > +@@ -85,7 +85,7 @@ struct para_data_s {
> > > > + u32 creation;
> > > > + unsigned int usage;
> > > > + struct revocation_key revkey;
> > > > +- char value[1];
> > ^^^^^^^^^^^^^
> > > > ++ char value[21];
> > > > + } u;
> > > > + };
> > > > +
> > >
> > > После этого изменения gnupg2 начнёт падать.
> >
> > Как я понимаю, это очень популярный приём для создания поля переменной длины в структуре.
>
> Насчёт того, что это очень популярный приём, я не уверен, но то что этот
> метод хорошо известен в узких кругах, это точно.
>
> > Память выделяется как сумма sizeof(структура)+strlen(данные), а потом в поле, которое
> > объявлено размером в один байт загоняются данные большей длины и это срабатывает т.к.
> > памяти выделенно достаточно, хотя с точки зрения компилятора будет переполнение.
> >
> > Как теперь быть? Какой правильный путь решения такой задачи?
>
> Задача в описанной вами форме (поле переменной длины в конце структуры)
> решается с помощью массива переменной длины (flexible array member).
>
> Но в gnupg/g10/keygen.c поле переменной длины помещено в union, который
> помещён в структуру, а стандарт С не позволяет помещать flexible array
> member в union.
Apparently gcc upstream has changed his mind wrt this issue, see
http://gcc.gnu.org/ml/gcc-patches/2009-07/msg01136.html
gcc4.4-4.4.1-alt1 with this change was built for Sisyphus tonight.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] [SCM] packages/gnupg2: heads/master
2009-08-18 22:47 ` Dmitry V. Levin
@ 2009-08-18 22:51 ` Dmitry V. Levin
2009-08-19 9:17 ` Michael Shigorin
1 sibling, 0 replies; 12+ messages in thread
From: Dmitry V. Levin @ 2009-08-18 22:51 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 176 bytes --]
On Wed, Aug 19, 2009 at 02:47:00AM +0400, Dmitry V. Levin wrote:
> gcc4.4-4.4.1-alt1 with this change was built for Sisyphus tonight.
s/tonight/yesternight/
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] [SCM] packages/gnupg2: heads/master
2009-08-18 22:47 ` Dmitry V. Levin
2009-08-18 22:51 ` Dmitry V. Levin
@ 2009-08-19 9:17 ` Michael Shigorin
2009-08-19 12:49 ` Dmitry V. Levin
1 sibling, 1 reply; 12+ messages in thread
From: Michael Shigorin @ 2009-08-19 9:17 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Wed, Aug 19, 2009 at 02:47:00AM +0400, Dmitry V. Levin wrote:
> > Но в gnupg/g10/keygen.c поле переменной длины помещено в
> > union, который помещён в структуру, а стандарт С не позволяет
> > помещать flexible array member в union.
> Apparently gcc upstream has changed his mind wrt this issue, see
> http://gcc.gnu.org/ml/gcc-patches/2009-07/msg01136.html
> gcc4.4-4.4.1-alt1 with this change was built for Sisyphus tonight.
Так что, openmotif тоже ещё поживёт? :)
(в Debian и Fedora его выкинули в пользу lesstif и небольшой
стопки патчей, в openSUSE и PLD вроде пока есть)
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] [SCM] packages/gnupg2: heads/master
2009-08-19 9:17 ` Michael Shigorin
@ 2009-08-19 12:49 ` Dmitry V. Levin
0 siblings, 0 replies; 12+ messages in thread
From: Dmitry V. Levin @ 2009-08-19 12:49 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 604 bytes --]
On Wed, Aug 19, 2009 at 12:17:40PM +0300, Michael Shigorin wrote:
> On Wed, Aug 19, 2009 at 02:47:00AM +0400, Dmitry V. Levin wrote:
> > > Но в gnupg/g10/keygen.c поле переменной длины помещено в
> > > union, который помещён в структуру, а стандарт С не позволяет
> > > помещать flexible array member в union.
> > Apparently gcc upstream has changed his mind wrt this issue, see
> > http://gcc.gnu.org/ml/gcc-patches/2009-07/msg01136.html
> > gcc4.4-4.4.1-alt1 with this change was built for Sisyphus tonight.
>
> Так что, openmotif тоже ещё поживёт? :)
Ещё побарахтается. :)
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2009-08-19 12:49 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-14 10:54 ` [devel] [SCM] packages/gnupg2: heads/master Dmitry V. Levin
2009-07-14 14:56 ` Sergey V Turchin
2009-07-14 10:57 ` Dmitry V. Levin
2009-07-14 15:07 ` Sergey V Turchin
2009-07-14 17:37 ` Vladimir Lettiev
2009-07-14 18:29 ` Ivan A. Melnikov
2009-07-14 18:34 ` Led
2009-07-14 22:51 ` Dmitry V. Levin
2009-08-18 22:47 ` Dmitry V. Levin
2009-08-18 22:51 ` Dmitry V. Levin
2009-08-19 9:17 ` Michael Shigorin
2009-08-19 12:49 ` Dmitry V. Levin
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git