php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #16757 setting server_name to NULL doesn't work
Submitted: 2002-04-23 11:20 UTC Modified: 2002-04-27 06:13 UTC
From: msisolak at yahoo dot com Assigned:
Status: Closed Package: COM related
PHP Version: 4.2.0 OS: Windows 2000
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: msisolak at yahoo dot com
New email:
PHP Version: OS:

 

 [2002-04-23 11:20 UTC] msisolak at yahoo dot com
In 4.2 you can no longer set server_name to NULL (which you need to do if you just want to set the codepage).  The problem is the code that was added to 4.2 to process server_name as an ARRAY.  In 4.1.2 the code looked like this (COM.c, line 486):

	if (server_name != NULL)
	{
		if (Z_TYPE_P(server_name) == IS_NULL) {
			server_name = NULL;
		} else {
			if (!INI_INT("com.allow_dcom")) {
				php_error(E_WARNING, "DCOM is disabled");
				RETURN_FALSE;
			} else {
				convert_to_string_ex(&server_name);
			}
		}
	}

In the 4.2.0 COM.c, the new flags variable set and IS_ARRAY check was added before the IS_NULL check, instead of inside the else branch - thus flags is set to remote invocation, even if server_name is NULL.  To fix this I moved everything below "if (server_name != NULL)" and above "if (Z_TYPE_P(server_name) == IS_NULL) {" to after "} else {".

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-04-27 06:13 UTC] phanto@php.net
This bug has been fixed in CVS.


 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Wed Feb 05 12:01:32 2025 UTC