Insufficient memory allocation and unnecessary quotes insertion
---------------------------------------------------------------
Key: DAEMON-118
URL: https://issues.apache.org/jira/browse/DAEMON-118
Project: Commons Daemon
Issue Type: Bug
Affects Versions: 1.0.1
Reporter: Jack Cai
When reading the source file rprocess.c in Commons Daemon procrun project, I
found a defect in the method __apxStrQuote() and apxProcessSetCommandArgsW().
In __apxStrQuote(), I don't think it is necessary to add quotes around a
command line argument whenever a space/tab/quote/backslash is found. Usually
users add quote around an argument by themselves if the argument contains
space. So adding anothe pair of quotes around the argument only get things
wrong. I'd suggest the quote is only inserted when there is space/tab but no
quote found in the argument. Also, it is not necessary to convert backslash
into double backslash for a string that's already in memory.
In apxProcessSetCommandArgsW(), the algorithm for calculating the buffer length
is incorrect, as it does take the backslash to double backslash expansion. But
if the above suggestion for __apxStrQuote() is accepted, the defect will
disappear, and there is also no need to allocate memory for each quote
character.
I'll attach the suggested patch.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.