commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kamishima, Kiyoshi (JIRA)" <j...@apache.org>
Subject [jira] Created: (DAEMON-167) Procrun intermittently fails to set string values to the registry
Date Fri, 09 Jul 2010 05:18:52 GMT
Procrun intermittently fails to set string values to the registry
-----------------------------------------------------------------

                 Key: DAEMON-167
                 URL: https://issues.apache.org/jira/browse/DAEMON-167
             Project: Commons Daemon
          Issue Type: Bug
          Components: Procrun
    Affects Versions: Nightly Builds
         Environment: Windows Server 2008 SP2 JPN (but I don't think the versions matter)
            Reporter: Kamishima, Kiyoshi


Due to an incorrect use of Win32 Registry APIs, Procrun intermittently fails to set string
values to the registry and ends up failing to start itself up.

As described in the following API reference page, cbData passed to RegSetValueEx function
must include the size of the terminating null character.
http://msdn.microsoft.com/en-us/library/ms724923.aspx

However, apxRegistrySetStrA() and apxRegistrySetStrW() functions in Procrun codebase apparently
neglect it.
http://svn.apache.org/viewvc/commons/proper/daemon/trunk/src/native/nt/procrun/src/registry.c?revision=779922&view=markup

In most cases, these off-by-one error is automatically compensated somewhere between API entry
and the kernel, so the error is not apparent. But I have actually seen a case that the resulted
registry value lacked the terminating null character and prevented the service from starting.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message