X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fhelperfuncs.cpp;h=ed1e304b5a82578c81ef70eacfe478acc0be3b93;hb=49a165ef13cbe41dd7ed73e53a97437735868046;hp=913bc0861b16a2110c1addfcdef5661d3db85665;hpb=aa692dc1039b63deef7886e914ec499abe7facaf;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/helperfuncs.cpp b/src/helperfuncs.cpp index 913bc0861..ed1e304b5 100644 --- a/src/helperfuncs.cpp +++ b/src/helperfuncs.cpp @@ -1,7 +1,7 @@ /* * InspIRCd -- Internet Relay Chat Daemon * - * Copyright (C) 2019 Matt Schatz + * Copyright (C) 2019-2020 Matt Schatz * Copyright (C) 2018 linuxdaemon * Copyright (C) 2013 Daniel Vassdal * Copyright (C) 2013 Adam @@ -383,7 +383,7 @@ bool InspIRCd::Duration(const std::string& str, unsigned long& duration) } else { - /* Found something thats not a number, find out how much + /* Found something that's not a number, find out how much * it multiplies the built up number by, multiply the total * and reset the built up number. */ @@ -517,14 +517,12 @@ std::string InspIRCd::TimeString(time_t curtime, const char* format, bool utc) std::string InspIRCd::GenRandomStr(unsigned int length, bool printable) { - char* buf = new char[length]; - GenRandom(buf, length); - std::string rv; - rv.resize(length); - for(size_t i = 0; i < length; i++) - rv[i] = printable ? 0x3F + (buf[i] & 0x3F) : buf[i]; - delete[] buf; - return rv; + std::vector str(length); + GenRandom(&str[0], length); + if (printable) + for (size_t i = 0; i < length; i++) + str[i] = 0x3F + (str[i] & 0x3F); + return std::string(&str[0], str.size()); } // NOTE: this has a slight bias for lower values if max is not a power of 2. @@ -536,7 +534,7 @@ unsigned long InspIRCd::GenRandomInt(unsigned long max) return rv % max; } -// This is overridden by a higher-quality algorithm when SSL support is loaded +// This is overridden by a higher-quality algorithm when TLS (SSL) support is loaded void InspIRCd::DefaultGenRandom(char* output, size_t max) { #if defined HAS_ARC4RANDOM_BUF