bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#13949: fill-paragraph is buggy, but using MD5 is even more buggy


From: Petros Travioli
Subject: bug#13949: fill-paragraph is buggy, but using MD5 is even more buggy
Date: Mon, 28 Mar 2016 06:55:58 +0200

Some details on hashes. For eggheads.

Let's assume that you have never typed in some large number, say, 89434823472. 
And you have never seen it so far. And noone you know has ever seen this 
number. Neither have your colleagues, though you don't speak to them. On this 
empirical basis, you declare this number nonexistant for all practical 
purposes. Encountering this number in the future is less likely than the 
probability of finding oneself with those
two sweet blond ladies you've always wanted at your home in a horizontal 
position simultaneously. Since instead of the ladies, you have been accustomed 
to endure the society of your wife, well, you decide to use the value 
89434823472 as an error value when, say, returning the file size.

Is it clever? Of course NO. There is absolutely nothing which precludes the 
next large file you see to have size exactly 89434823472. There is absolutely 
nothing which precludes the next two large files you see to have this size. As 
the time goes by, files get larger, so 89 GB files may be normal in a decade or 
so. (The ladies will never change their mind, though. Sigh.)

But that's exactly what happens when you are using hash functions to verify 
buffer equality, just with a more complicated mathematical formulation and at a 
slightly different scale.

So don't use hash functions to a two-sided correct answer to test buffer 
equality. For a one-sided answer (if hash(x) != hash(y) then x != y), you are 
fine.

Petros





reply via email to

[Prev in Thread] Current Thread [Next in Thread]