From: "Хихин Руслан" <hihin@yandex.ru> To: devel@lists.altlinux.org Subject: Re: [devel] IA: destination buffer overflow - ppp Date: Thu, 29 Nov 2007 09:28:53 +0300 Message-ID: <200711290929.06176@ruslandh> (raw) In-Reply-To: <20071129060835.GC26134@mw.local.seiros.ru> [-- Attachment #1: Type: text/plain, Size: 1484 bytes --] Здравствуйте Денис Смирнов В сообщении от 29 ноября 2007 Денис Смирнов написал(a): > On Wed, Nov 28, 2007 at 02:33:28PM +0300, Dmitry V. Levin wrote: > > > >> - strncat(ttyname, name, sizeof(ttyname)); > >> > >> + strncat(ttyname, name, sizeof(ttyname)-1); > >> > > >> Автор этого кода не справился с функцией strncat. > > >> Исправление тривиально. > >> Фикс должен быть таким (см. выше)? Или нет? > DVL> Да, таким. > > > > Правильно ли я понял, что: > strlcat(ttyname, name, sizeof(ttyname)); > будет лучшим решением? > > А также изменить размер ttyname с PATH_MAX на PATH_MAX + 1 (с учетом > '\0' > на конце)? В принципе да. Тут ещё стоит обратить внимание на сам размер PATH_MAX. В 90% случаях этот размер излишний. А так-как массив символов создаётся внутри функции, то идут излишние действия по его созданию. Возможно, его-бы следовало сделать глобальным (вернее указатель на строку) и создавать динамически по реальному размеру строки, насколько я помню (если не путаю), getline это позволяет, плюс можно посчитать сколько реально нужно с случае, если оператор ввёл вместо /dev/ttyS0 просто ttyS0. Впрочем это надо смотреть код всей программы - возможно там можно как-то это обойти. Как я понимаю, такие большие массивы появляются из желания программиста не допустить переполнения буфера при вводе строки оператором, так что, тут надо быть внимательным, и действия по переделыванию кода делать осмысленные :) -- С уважением Хихин Руслан [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2007-11-29 6:28 UTC|newest] Thread overview: 112+ messages / expand[flat|nested] mbox.gz Atom feed top 2007-11-25 12:08 [devel] IA: destination buffer overflow Dmitry V. Levin 2007-11-25 19:55 ` Michael Shigorin 2007-11-25 21:16 ` Dmitry V. Levin 2007-11-25 23:11 ` Igor Zubkov 2007-11-26 8:55 ` Денис Смирнов 2007-11-27 15:32 ` [devel] IA: destination buffer overflow - ppp Dmitriy Khanzhin 2007-11-27 15:45 ` Dmitry V. Levin 2007-11-27 16:01 ` Damir Shayhutdinov 2007-11-28 6:56 ` Slava Semushin 2007-11-28 8:55 ` Dmitriy Khanzhin 2007-11-28 9:11 ` Alexey Tourbin 2007-11-28 9:31 ` Dmitriy Khanzhin 2007-11-28 9:52 ` Dmitriy Khanzhin 2007-11-28 9:32 ` Slava Semushin 2007-11-28 9:56 ` Alexey Tourbin 2007-11-28 9:35 ` Alexander Bokovoy 2007-11-28 9:55 ` Alexey Tourbin 2007-11-28 10:37 ` Epiphanov Sergei 2007-11-28 10:41 ` Alexey Tourbin 2007-11-28 11:37 ` Alexander Bokovoy 2007-11-28 16:35 ` Alexey Tourbin 2007-11-28 17:34 ` [devel] конкатенация строк Alexey Tourbin 2007-11-28 18:56 ` Alexander Bokovoy 2007-11-28 20:33 ` [devel] фрагментация памяти Kirill A. Shutemov 2007-11-28 20:39 ` Alexander Bokovoy 2007-11-28 20:48 ` Kirill A. Shutemov 2007-11-28 19:59 ` [devel] конкатенация строк led 2007-11-29 2:04 ` Alexey Tourbin 2007-11-28 17:56 ` Alexey Tourbin 2007-11-28 9:57 ` [devel] IA: destination buffer overflow - ppp Dmitriy Khanzhin 2007-11-28 10:04 ` Alexey Tourbin 2007-11-28 10:21 ` Dmitriy Khanzhin 2007-11-28 10:34 ` Alexey Tourbin 2007-11-28 10:48 ` Dmitriy Khanzhin 2007-11-28 10:15 ` Kirill A. Shutemov 2007-11-28 13:59 ` Grigory Batalov 2007-11-28 10:18 ` Led 2007-11-28 11:39 ` Alexander Bokovoy 2007-11-28 11:52 ` Led 2007-11-28 12:44 ` [devel] [JT] " Alexander Bokovoy 2007-12-08 12:29 ` [devel] [JT] разработчики, майнтейнеры Michael Shigorin 2007-12-10 9:33 ` Alexander Bokovoy 2007-12-10 16:04 ` Michael Shigorin 2007-12-10 16:47 ` Alexander Bokovoy 2007-12-10 19:02 ` [devel] [JT] updates Michael Shigorin 2007-12-11 15:41 ` [devel] [JT] разработчики, майнтейнеры Денис Смирнов 2007-12-11 15:48 ` [devel] [JT] разработчики , майнтейнеры Led 2007-12-11 16:26 ` Денис Смирнов 2007-12-11 16:29 ` Alexander Bokovoy 2007-12-11 16:39 ` Денис Смирнов 2007-12-11 16:52 ` Alexander Bokovoy 2007-12-11 22:31 ` Денис Смирнов 2007-12-12 8:41 ` [devel] [JT] разработчики, майнтейнеры Slava Semushin 2007-12-12 13:50 ` Alexey I. Froloff 2007-12-13 6:16 ` Денис Смирнов 2007-11-28 11:33 ` [devel] IA: destination buffer overflow - ppp Dmitry V. Levin 2007-11-28 13:00 ` Damir Shayhutdinov 2007-11-28 15:50 ` Dmitriy Khanzhin 2007-11-28 16:41 ` Alexey Tourbin 2007-11-29 7:53 ` Alexey Morsov 2007-11-28 20:58 ` Dmitry V. Levin 2007-11-29 6:10 ` Денис Смирнов 2007-11-29 6:27 ` Andrey Rahmatullin 2007-11-29 6:41 ` Денис Смирнов 2007-11-29 9:28 ` Kirill A. Shutemov 2007-11-29 11:37 ` Денис Смирнов 2007-11-29 11:51 ` Kirill A. Shutemov 2007-11-29 12:02 ` Денис Смирнов 2007-11-29 12:06 ` Slava Semushin 2007-11-29 20:36 ` Денис Смирнов 2007-11-29 22:27 ` Dmitry V. Levin 2007-11-29 6:02 ` Денис Смирнов 2007-11-29 6:08 ` Денис Смирнов 2007-11-29 6:28 ` Хихин Руслан [this message] 2007-11-29 6:42 ` Andrey Rahmatullin 2007-11-29 6:01 ` Денис Смирнов 2007-12-08 12:20 ` [devel] ppp *def*route patches Michael Shigorin 2007-12-08 12:34 ` Dmitry V. Levin 2007-12-08 14:30 ` Денис Смирнов 2007-11-26 10:12 ` [devel] IA: destination buffer overflow Michael Shigorin 2007-11-26 12:17 ` Dmitry V. Levin 2007-11-26 20:24 ` [devel] main vs contrib, уже в который раз! Michael Shigorin 2007-11-27 8:53 ` Slava Semushin 2007-11-27 9:00 ` Michael Shigorin 2007-11-27 10:11 ` [devel] IA: destination buffer overflow Damir Shayhutdinov 2007-11-27 14:10 ` Dmitry V. Levin 2007-11-27 14:25 ` Damir Shayhutdinov 2007-11-27 14:33 ` Dmitry V. Levin 2007-11-27 15:25 ` Damir Shayhutdinov 2007-11-26 8:25 ` Slava Semushin 2007-11-26 9:08 ` Slava Semushin 2007-11-26 10:22 ` Michael Shigorin 2007-11-26 10:28 ` Slava Semushin 2007-11-26 10:38 ` Michael Shigorin 2007-11-26 18:50 ` Andrey Rahmatullin 2007-11-27 9:51 ` Slava Semushin 2007-11-27 17:37 ` Andrey Rahmatullin 2007-11-27 5:54 ` Vladimir V. Kamarzin 2007-11-26 10:21 ` Michael Shigorin 2007-11-26 8:51 ` Денис Смирнов 2007-11-26 10:22 ` Michael Shigorin 2007-11-26 8:59 ` Sergey Y. Afonin 2007-11-26 9:20 ` Slava Semushin 2007-11-26 9:24 ` Damir Shayhutdinov 2007-11-26 12:00 ` Alexey Morsov 2007-11-27 5:55 ` Vladimir V. Kamarzin 2007-11-27 8:02 ` Michael Shigorin 2007-11-27 14:14 ` Dmitry V. Levin 2007-11-27 14:22 ` Michael Shigorin 2007-11-28 10:34 ` Epiphanov Sergei 2007-11-28 13:51 ` Dmitry V. Levin 2007-11-29 13:09 ` Epiphanov Sergei
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=200711290929.06176@ruslandh \ --to=hihin@yandex.ru \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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