Bug 671235
Summary: | cmdline_args doesn't return arguments after a NULL argument | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Marc Milgram <mmilgram> | ||||||
Component: | systemtap | Assignee: | Frank Ch. Eigler <fche> | ||||||
Status: | CLOSED ERRATA | QA Contact: | qe-baseos-tools-bugs | ||||||
Severity: | low | Docs Contact: | |||||||
Priority: | low | ||||||||
Version: | 6.0 | CC: | mjw, pmuller, wcohen | ||||||
Target Milestone: | rc | ||||||||
Target Release: | --- | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | systemtap-1.6-1.el6 | Doc Type: | Bug Fix | ||||||
Doc Text: |
Cause
The cmdline_string() function used to concatenate commandline arguments
would abort the concatenation when it encountered a NULL pointer for an
argument.
Consequence
The cmdline_string() function would not print any arguments following
a null argument.
Fix
The cmdline_string() function insert "" for empty string.
Result
The cmdline_args() function now prints all arguments from the command
line including ones that follow a NULL argument.
|
Story Points: | --- | ||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2011-12-06 15:17:35 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Attachments: |
|
Created attachment 474528 [details]
Proposed patch
I attached a suggested fix.
upstream commit 5e3f644 Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Cause The cmdline_string() function used to concatenate commandline arguments would abort the concatenation when it encountered a NULL pointer for an argument. Consequence The cmdline_string() function would not print any arguments following a null argument. Fix The cmdline_string() function insert "" for empty string. Result The cmdline_args() function now prints all arguments from the command line including ones that follow a NULL argument. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2011-1517.html |
Created attachment 474525 [details] cmdlinefail.stp Description of problem: In tapset context.stp, cmdline_args won't return data after the first NULL argument. Version-Release number of selected component (if applicable): systemtap-1.2-9.el6.x86_64 How reproducible: 100% Steps to Reproduce: 1. stap cmdlinefail.stp (see attached file) 2. In a separate window, execute: /bin/ls "" additional arguments 3. Look at stap output Actual results: stap displays: /bin/ls Expected results: stap displays: /bin/ls ^@ additional arguments Note, that instead of ^@, it could display something else, or even nothing, but it should display the additional arguments. Additional info: