Bug #15333 Updated: strndup access violation
| From: | marcus dot b dot brock at lmco dot com | Date: | Wed, 17 Apr 2002 19:19:06 +0000 |
| Subject: | Bug #15333 Updated: strndup access violation | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-5222@lists.php.net to get a copy of this message | ||
ID: 15333
Updated by: marcus.b.brock@lmco.com
Reported By: david@harksystems.com
Status: Critical
Bug Type: IIS related
Operating System: Windows 2000 Pro
PHP Version: 4.2.0 RC2
New Comment:
I am getting this error with 4.2.0 RC2. I upgraded from 4.1.2 to 4.2.0
RC2 (both ISAPI) because 4.1.2 wasn't handling sessions correctly.
I tried setting the app protection to 'Low (IIS Process)' and all I
received were 'Invalid access to memory location' errors.
PHP 4.2.0 RC2 (ISAPI)
IIS5
Win2K Pro SP2
PIII 733MHz
384 MB RAM
Previous Comments:
------------------------------------------------------------------------
[2002-04-17 01:29:45] jim.borowicz@amivisions.com
I am also receiving this error with:
Win2k Server SP2 w/all security patches
But I am running PHP 4.1.2 ISAPI under IIS 5.0
Thanks.
------------------------------------------------------------------------
[2002-04-09 08:14:55] develop@dnet.net
I have been super busy lately, but, since I switched the app protection
down to 'Low (IIS Process)' a week ago I haven't gotten a single error
or lock up. Thanks for your persistance.
Still using 4.1.2.
------------------------------------------------------------------------
[2002-04-08 12:04:38] jtate@php.net
Ok. It definitely happens with RC2. You can restart IIS without
rebooting, you've got to perform the following:
kill the inetinfo.exe process using the task manager
run from command line:
net stop w3svc
net stop iisadmin
net start iisadmin
net start w3svc
Marking this bug critical because it should be fixed before 4.2.0
release. Still looking for fix.
------------------------------------------------------------------------
[2002-04-05 12:38:03] jtate@php.net
Nevermind. That's not the problem. Still looking.
------------------------------------------------------------------------
[2002-04-04 13:23:18] jtate@php.net
I think I've found the problem:
ZEND_API char *zend_strndup(const char *s, uint length)
{
char *p;
p = (char *) malloc(length+1);
if (!p) {
return (char *)NULL;
}
if (length) {
memcpy(p, s, length);
}
p[length] = 0;
return p;
}
If this is changed to
ZEND_API char *zend_strndup(const char *s, uint length)
{
char *p;
p = (char *) malloc(length+1);
if (!p) {
return (char *)NULL;
}
if (length) {
memcpy(p, s, length);
p[length] = 0;
}
return p;
}
does that break anything? I think the problem comes in when length==0.
I can't really reproduce this problem though. I saw it once a couple
of days ago, but havn't seen it since.
Also will one of you that's having this problem please check to see if
4.2.0 RC 2 still has this problem? Since 4.2.0 is going to be released
really soon now, I'd like to get this worked through (but if it doesn't
happen anymore under 4.2.0 then we're worrying about nothing).
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/15333
--
Edit this bug report at http://bugs.php.net/?id=15333&edit=1