From: Alexander Viro <viro@math.psu.edu>
To: martin@dalecki.de
Cc: Thunder from the hill <thunder@ngforever.de>,
Peter Chubb <peter@chubb.wattle.id.au>,
Pavel Machek <pavel@ucw.cz>,
Matt_Domsch@Dell.com, Andries.Brouwer@cwi.nl,
linux-kernel@vger.kernel.org
Subject: Re: 2.5.28 and partitions
Date: Thu, 1 Aug 2002 17:27:15 -0400 (EDT) [thread overview]
Message-ID: <Pine.GSO.4.21.0208011709390.12627-100000@weyl.math.psu.edu> (raw)
In-Reply-To: <3D49A1CC.7080608@evision.ag>
On Thu, 1 Aug 2002, Marcin Dalecki wrote:
> > As for the Martin's comments... Martin, if you can't write a function
> > that checks whether array of characters has a contents fitting the
> > description above - stand up and say so. Aloud. In public.
>
> Actually you asked me to just shut up. Becouse I assume that you guessed
> that I'm able to write the corresponding code?
>
> I will anser anyway ;-)
>
> Sure I'm able to do this. However if I hear the words parser I
> immediately think *complete* parsers in the formal sense.
> Not a bunch of reg exp guessing. Neither do
Newsflash: for Homsky-3 grammar "reg exp guessing" _IS_ complete parser
in the formal sense.
> I think about that error prone scanning for '\0' or fumbling
OK. So "check if n bytes starting at address p contain zero and return
the distance of first zero from p if they do and n if they do not" is
error-prone task? Fiiine...
> So unless you provide me with a... well for example, *complete* BNF
> grammar definition of /proc I will always claim that using it or ASCII
> based interfaces is:
What the devil does BNF for everything somebody decided to dump in some
file in procfs have to partition tables?
> > is tough". Examples on demand, including real gems like
> > fread(&foo, sizeof(foo), 1, fp);
> > if (foo.x >= 100000 || foo.y >= 100000)
> > /* fail and exit */
> > p = (char *)malloc(foo.x * foo.y);
> > if (!p)
> > /* fail and exit */
> > for (i = 0; i < foo.x; i++)
> > fread(p + i*foo.y. 1, foo.y, fp);
> > and similar wonders (if anybody wonders what's wrong with the code above,
> > you need to learn how multiplication is defined on int and compare 10^10 with
> > 2^32). And yes, it's real-life code, from often-used programs. Used on
> > untrusted data, at that.
>
> Storing the constants in question in the above code sample
> as ASCII at the start of where foo is pointing at, would have hardly
> saved the poor overworked programmers mind from precisely the same
> mistake he did above. (Needless to say that you actually forgott
> to mention that the code fails on <= 32 bit systems. Inestad of
> providing te "hint" for guessing where the actual error is.)
Huh???
you: "it's easy to screw up when working with ASCII strings"
me: "tossers will find a way to screw up on anything, no matter what it is;
see example of tosser screwing up on plain arithmetics"
you: "use of ASCII wouldn't help them in that case"
Sure thing, it wouldn't. _Nothing_ short of acquiring some clue would.
Possible solutions:
A) replace all arithmetics with BIGNUMs (and just you wait for
first out-of-memory)
B) get rid of tossers.
Matter of taste, indeed, but I'd rather go for (B) - has a benefit of
solving many other problems.
next prev parent reply other threads:[~2002-08-01 21:23 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <15688.25919.138565.6427@wombat.chubb.wattle.id.au>
2002-07-31 22:39 ` 2.5.28 and partitions Alexander Viro
2002-08-01 10:08 ` Marcin Dalecki
2002-08-01 12:31 ` Kai Henningsen
2002-08-01 19:29 ` Thunder from the hill
2002-08-01 20:31 ` Alexander Viro
2002-08-01 20:45 ` Thunder from the hill
2002-08-01 21:08 ` Alexander Viro
2002-08-01 21:25 ` Marcin Dalecki
2002-08-01 21:41 ` Alexander Viro
2002-08-02 19:40 ` Mike Touloumtzis
2002-08-01 21:02 ` Marcin Dalecki
2002-08-01 21:27 ` Alexander Viro [this message]
2002-08-01 21:45 ` Marcin Dalecki
2002-08-02 5:21 ` Ryan Anderson
2002-08-01 21:24 ` Albert D. Cahalan
2002-08-02 19:47 ` Mike Touloumtzis
2002-08-02 20:49 ` Albert D. Cahalan
2002-08-02 21:21 ` Mike Touloumtzis
2002-08-02 21:36 ` [RFC] " Thunder from the hill
2002-08-02 22:12 ` Albert D. Cahalan
2002-08-02 22:53 ` Mike Touloumtzis
2002-08-02 14:54 Jesse Pollard
2002-08-02 18:33 ` Kai Henningsen
[not found] <15688.27022.143541.447952@wombat.chubb.wattle.id.au>
2002-07-31 23:42 ` Alexander Viro
-- strict thread matches above, loose matches on Subject: below --
2002-07-31 23:38 Matt_Domsch
[not found] <F44891A593A6DE4B99FDCB7CC537BBBBB839AC@AUSXMPS308.aus.amer .dell.com>
2002-07-31 22:58 ` Anton Altaparmakov
2002-07-31 22:47 Matt_Domsch
2002-07-25 17:50 Andries.Brouwer
2002-07-25 13:24 Petr Vandrovec
2002-07-25 13:45 ` Anton Altaparmakov
2002-07-26 5:13 ` Adrian Bunk
2002-07-25 12:43 Petr Vandrovec
2002-07-25 3:22 Matt_Domsch
2002-07-25 5:27 ` Linus Torvalds
2002-07-25 11:44 ` Alexander Viro
2002-07-25 15:57 ` Linus Torvalds
2002-07-30 9:58 ` Pavel Machek
[not found] ` <Pine.GSO.4.21.0207250739390.17037-100000@weyl.math.psu.edu >
2002-07-25 13:03 ` Anton Altaparmakov
2002-07-25 16:50 ` Alexander Viro
2002-07-25 17:35 ` Jason L Tibbitts III
2002-07-25 17:57 ` Rik van Riel
2002-07-25 18:27 ` Alexander Viro
2002-07-27 5:56 ` Austin Gonyou
[not found] ` <Pine.GSO.4.21.0207251245530.17621-100000@weyl.math.psu.edu >
2002-07-25 17:39 ` Anton Altaparmakov
2002-07-25 10:42 ` Alan Cox
2002-07-24 22:42 Andries.Brouwer
2002-07-24 23:42 ` Alexander Viro
2002-07-25 0:20 ` kwijibo
2002-07-25 4:00 ` Jason L Tibbitts III
[not found] ` <Pine.GSO.4.21.0207241925450.14656-100000@weyl.math.psu.edu >
2002-07-25 2:11 ` Anton Altaparmakov
2002-07-25 5:15 ` Linus Torvalds
[not found] ` <Pine.LNX.4.44.0207242213540.1231-100000@home.transmeta.com >
2002-07-25 8:43 ` Anton Altaparmakov
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=Pine.GSO.4.21.0208011709390.12627-100000@weyl.math.psu.edu \
--to=viro@math.psu.edu \
--cc=Andries.Brouwer@cwi.nl \
--cc=Matt_Domsch@Dell.com \
--cc=linux-kernel@vger.kernel.org \
--cc=martin@dalecki.de \
--cc=pavel@ucw.cz \
--cc=peter@chubb.wattle.id.au \
--cc=thunder@ngforever.de \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).