mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-27 07:22:57 +02:00
nhttpd/yhttpd_core/helper.cpp: avoid buffer overload
Origin commit data
------------------
Commit: 7ebd9f8fdf
Author: Jacek Jendrzej <overx300@gmail.com>
Date: 2016-02-19 (Fri, 19 Feb 2016)
This commit is contained in:
@@ -76,10 +76,17 @@ std::string timeString(time_t time) {
|
|||||||
// Printf and return formatet String. Buffer-save!
|
// Printf and return formatet String. Buffer-save!
|
||||||
// max length up to bufferlen -> then snip
|
// max length up to bufferlen -> then snip
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
#define bufferlen 4*1024
|
|
||||||
std::string string_printf(const char *fmt, ...) {
|
std::string string_printf(const char *fmt, ...) {
|
||||||
char buffer[bufferlen];
|
|
||||||
va_list arglist;
|
va_list arglist;
|
||||||
|
va_start (arglist, fmt);
|
||||||
|
int len = vsnprintf (NULL, 0, fmt, arglist);
|
||||||
|
va_end (arglist);
|
||||||
|
const int bufferlen = 4*1024;
|
||||||
|
if(len >= bufferlen){
|
||||||
|
printf("string_printf: error: buffer overflow : len %i line %i\n",len,__LINE__);
|
||||||
|
return "error";
|
||||||
|
}
|
||||||
|
char buffer[bufferlen] = {0};
|
||||||
va_start(arglist, fmt);
|
va_start(arglist, fmt);
|
||||||
vsnprintf(buffer, bufferlen, fmt, arglist);
|
vsnprintf(buffer, bufferlen, fmt, arglist);
|
||||||
va_end(arglist);
|
va_end(arglist);
|
||||||
|
Reference in New Issue
Block a user