Revision: 1971
http://nagiosplug.svn.sourceforge.net/nagiosplug/?rev=1971&view=rev
Author: dermoth
Date: 2008-04-01 02:31:27 -0700 (Tue, 01 Apr 2008)
Log Message:
-----------
np_extra_opts now retain pointers from argv so that plugins can still overwrite sensitive options
Modified Paths:
--------------
nagiosplug/trunk/lib/extra_opts.c
nagiosplug/trunk/lib/extra_opts.h
Modified: nagiosplug/trunk/lib/extra_opts.c
===================================================================
--- nagiosplug/trunk/lib/extra_opts.c 2008-03-31 07:07:39 UTC (rev 1970)
+++ nagiosplug/trunk/lib/extra_opts.c 2008-04-01 09:31:27 UTC (rev 1971)
@@ -122,7 +122,7 @@
if(argv_new==NULL) die(STATE_UNKNOWN, _("malloc() failed!\n"));
/* starting with program name */
- argv_new[0]=strdup(argv[0]);
+ argv_new[0]=argv[0];
argc_new=1;
/* then parsed ini opts (frying them up in the same run) */
while(extra_args){
@@ -132,7 +132,7 @@
free(ea1);
}
/* finally the rest of the argv array */
- for (i=1; i<*argc; i++) argv_new[argc_new++]=strdup(argv[i]);
+ for (i=1; i<*argc; i++) argv_new[argc_new++]=argv[i];
*argc=argc_new;
/* and terminate. */
argv_new[argc_new]=NULL;
Modified: nagiosplug/trunk/lib/extra_opts.h
===================================================================
--- nagiosplug/trunk/lib/extra_opts.h 2008-03-31 07:07:39 UTC (rev 1970)
+++ nagiosplug/trunk/lib/extra_opts.h 2008-04-01 09:31:27 UTC (rev 1971)
@@ -11,8 +11,8 @@
* ini-procesed arguments always come first (in the ord of --extra-opts
* arguments). If no --extra-opts arguments are provided or returned nothing
* it returns **argv otherwise the new array is returned. --extra-opts are
- * always removed from **argv and the new array and all its elements can be
- * freed with free();
+ * always removed from **argv. The original pointers from **argv are kept in
+ * the new array to preserve ability to overwrite arguments in processlist.
*/
char **np_extra_opts(int *argc, char **argv, const char *plugin_name);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.