"Daniel P. Berrange" <[EMAIL PROTECTED]> wrote:
> I found a couple more small bugs in the qparams code
>
> - In the qparam_query_parse() method, after appending each (name,value)
> pair of params, it failed to free the temporary buffers for the
> (name,value) pair.
> - Did not allow for ';' as a valid query parameter separator
> - In a couple of OOM cleanup scenarios it failed to free buffers allocated
> earlier on
>
> In looking at this I decide we ought to have a test suite for this code
> so I'm also including one. It has 100% coverage of all the non-OOM code
> paths. The test case now passes when run under valgrind
Nice!
...
> +static const struct qparamParseDataEntry params1[] = { { "foo", "one" }, {
> "bar", "two" } };
> +static const struct qparamParseDataEntry params2[] = { { "foo", "one" }, {
> "foo", "two" } };
> +static const struct qparamParseDataEntry params3[] = { { "foo", "&one" }, {
> "bar", "&two" } };
> +static const struct qparamParseDataEntry params4[] = { { "foo", "" } };
> +static const struct qparamParseDataEntry params5[] = { { "foo", "one two" }
> };
> +static const struct qparamParseDataEntry params6[] = { { "foo", "one" } };
You can help the compiler by adding one more layer of "const"
there, since it's a const array of const elements, e.g.,
static const struct qparamParseDataEntry const params6[] = { { "foo", "one" } };
^^^^^
--
Libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list