Fixed return buffer overflow with very long entries
SVN revision: 2157
This commit is contained in:
+3
-3
@@ -5605,9 +5605,9 @@ void convert_elog_link(LOGBOOK * lbs, char *link, char *link_text, char *result,
|
||||
void rsputs(const char *str)
|
||||
{
|
||||
if (strlen_retbuf + (int) strlen(str) + 1 >= return_buffer_size) {
|
||||
return_buffer = xrealloc(return_buffer, return_buffer_size + 100000);
|
||||
memset(return_buffer + return_buffer_size, 0, 100000);
|
||||
return_buffer_size += 100000;
|
||||
return_buffer = xrealloc(return_buffer, return_buffer_size + (int) strlen(str) + 100000);
|
||||
memset(return_buffer + return_buffer_size, 0, (int) strlen(str) + 100000);
|
||||
return_buffer_size += (int) strlen(str)+100000;
|
||||
}
|
||||
|
||||
strcpy(return_buffer + strlen_retbuf, str);
|
||||
|
||||
Reference in New Issue
Block a user