Greg Bruno wrote:
> for ganglia v3.1.2, the patch below ensures that all 'string' metrics
> are null terminated for python-based user metrics. without this patch,
> any string metric that is longer than MAX_G_STRING_SIZE (currently 32
> bytes), will not be null terminated and will corrupt the value in the
> metric.
Committed to trunk in r2000, and proposed for backporting to the 3.1.x tree.
Thanks for the patch.
> also, regarding MAX_G_STRING_SIZE, would it be possible to increase it
> in future releases? i've currently set it to 128 in
> include/gm_value.h.
I don't object, although I'm not the most familiar with this part of the code.
I'm curious: what metrics are you trying to use that are that long?
>
> - gb
>
>
> =============
> *** ganglia-3.1.2/gmond/modules/python/mod_python.c 2009-01-28
> 15:23:20.000000000 -0800
> --- /tmp/patch-files/gmond/modules/python/mod_python.c 2009-07-08
> 13:04:40.000000000 -0700
> ***************
> *** 127,134 ****
> --- 127,138 ----
> }
> else if (PyString_Check(dv)) {
> char* p = PyString_AsString(dv);
> strncpy(bfr, p, len);
> + /*
> + * ensure bfr is null terminated
> + */
> + bfr[len-1] = '\0';
> }
> else if (PyFloat_Check(dv)) {
> double v = PyFloat_AsDouble(dv);
> snprintf(bfr, len, "%f", v);
> ***************
> *** 422,430 ****
> gmi->name = apr_pstrdup (pool, minfo->mname);
> gmi->tmax = minfo->tmax;
> if (!strcasecmp(minfo->vtype, "string")) {
> gmi->type = GANGLIA_VALUE_STRING;
> ! gmi->msg_size = UDP_HEADER_SIZE+32;
> }
> else if (!strcasecmp(minfo->vtype, "uint")) {
> gmi->type = GANGLIA_VALUE_UNSIGNED_INT;
> gmi->msg_size = UDP_HEADER_SIZE+8;
> --- 426,434 ----
> gmi->name = apr_pstrdup (pool, minfo->mname);
> gmi->tmax = minfo->tmax;
> if (!strcasecmp(minfo->vtype, "string")) {
> gmi->type = GANGLIA_VALUE_STRING;
> ! gmi->msg_size = UDP_HEADER_SIZE+MAX_G_STRING_SIZE;
> }
> else if (!strcasecmp(minfo->vtype, "uint")) {
> gmi->type = GANGLIA_VALUE_UNSIGNED_INT;
> gmi->msg_size = UDP_HEADER_SIZE+8;
> =============
>
> ------------------------------------------------------------------------------
> Enter the BlackBerry Developer Challenge
> This is your chance to win up to $100,000 in prizes! For a limited time,
> vendors submitting new applications to BlackBerry App World(TM) will have
> the opportunity to enter the BlackBerry Developer Challenge. See full prize
> details at: http://p.sf.net/sfu/Challenge
> _______________________________________________
> Ganglia-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ganglia-developers
>
--
Jesse Becker
NHGRI Linux support (Digicon Contractor)
------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge
This is your chance to win up to $100,000 in prizes! For a limited time,
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
Ganglia-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ganglia-developers