[EMAIL PROTECTED] wrote:
Author: mturk
Date: Thu Jun 28 23:32:27 2007
New Revision: 551809
URL: http://svn.apache.org/viewvc?view=rev&rev=551809
Log:
Fix potential overflow. The actual encoded string length is strlen + 3 (Two
bytes for len and one '\0')
Modified:
tomcat/connectors/trunk/jk/native/common/jk_msg_buff.c
Modified: tomcat/connectors/trunk/jk/native/common/jk_msg_buff.c
URL:
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_msg_buff.c?view=diff&rev=551809&r1=551808&r2=551809
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_msg_buff.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_msg_buff.c Thu Jun 28 23:32:27
2007
@@ -173,7 +173,7 @@
}
len = (unsigned short)strlen(param);
- if (msg->len + len + 2 > msg->maxlen) {
+ if (msg->len + len + 3 > msg->maxlen) {
return -1;
}
@@ -181,7 +181,7 @@
jk_b_append_int(msg, len);
/* We checked for space !! */
- strncpy((char *)msg->buf + msg->len, param, len + 1); /* including
\0 */
+ memcpy(msg->buf + msg->len, param, len + 1); /* including \0 */
Why do you remove the (char *)?
Cheers
Jean-Frederic
#if (defined(AS400) && !defined(AS400_UTF8)) || defined(_OSD_POSIX)
/* convert from EBCDIC if needed */
jk_xlate_to_ascii((char *)msg->buf + msg->len, len + 1);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]