When a 'read' or 'write' to session cache is done, we need to check the size
of the data being 'read' or 'written' to avoid buffer over-run.
PR: 27751
Submitted by: Geoff Thorpe
Reviewed by: Madhusudan Mathihalli
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/ssl@103669
13f79535-47bb-0310-9956-
ffa450edef68
unsigned int dest_offset,
unsigned char *src, unsigned int src_len)
{
+ /* Cover the case that src_len > buf_size */
+ if (src_len > buf_size)
+ src_len = buf_size;
+
/* Can it be copied all in one go? */
if (dest_offset + src_len < buf_size)
/* yes */
unsigned int src_offset,
unsigned int src_len)
{
+ /* Cover the case that src_len > buf_size */
+ if (src_len > buf_size)
+ src_len = buf_size;
+
/* Can it be copied all in one go? */
if (src_offset + src_len < buf_size)
/* yes */