diff options
author | Vincent Richard <[email protected]> | 2005-11-28 12:17:47 +0000 |
---|---|---|
committer | Vincent Richard <[email protected]> | 2005-11-28 12:17:47 +0000 |
commit | 296ce19306f9c9d4358b3a1adc012405efc6c70a (patch) | |
tree | 7cc1bbac4b384b8f46f46a1629e3f8d42bfaef31 | |
parent | Fixed problem with maildir and ':' in filename on Windows. (diff) | |
download | vmime-296ce19306f9c9d4358b3a1adc012405efc6c70a.tar.gz vmime-296ce19306f9c9d4358b3a1adc012405efc6c70a.zip |
Fixed buffer overrun in random::getString().
Diffstat (limited to '')
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/utility/random.cpp | 2 |
2 files changed, 4 insertions, 1 deletions
@@ -7,6 +7,9 @@ VERSION 0.8.1cvs * maildirUtils.cpp: fixed problem with ':' in filename on Windows platform (thanks to Benjamin Biron). + * random.cpp: fixed buffer overrun in random::getString (thanks + to Benjamin Biron). + 2005-11-07 Vincent Richard <[email protected]> * SMTPTransport.cpp: fixed bug in disconnect() when authentication is diff --git a/src/utility/random.cpp b/src/utility/random.cpp index 882b4ab9..9b505cef 100644 --- a/src/utility/random.cpp +++ b/src/utility/random.cpp @@ -65,7 +65,7 @@ const string random::getString(const int length, const string& randomChars) while (c < length) { - for (unsigned int n = random::getNext() ; n != 0 ; n /= x) + for (unsigned int n = random::getNext() ; n != 0 && c < length ; n /= x) { res[c++] = randomChars[n % x]; } |