[pulseaudio-discuss] [PATCH 1/4] format: Don't _put() objects obtained with json_object_object_get()
Arun Raghavan
arun at accosted.net
Thu Aug 21 03:23:06 PDT 2014
On Mon, 2014-08-18 at 14:47 +0200, Peter Meerwald wrote:
> From: Peter Meerwald <p.meerwald at bct-electronic.com>
>
> json-c documentation states that "No reference counts will be changed.
> There is no need to manually adjust reference counts through the
> json_object_put/json_object_get methods unless..."
>
> hence fix pa_format_info_get_prop_type() and pa_format_info_get_prop_int_range();
> note that pa_format_info_prop_compatible() is OK
>
> Signed-off-by: Peter Meerwald <pmeerw at pmeerw.net>
> ---
> src/pulse/format.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/src/pulse/format.c b/src/pulse/format.c
> index 729c2d2..a61ba37 100644
> --- a/src/pulse/format.c
> +++ b/src/pulse/format.c
> @@ -289,14 +289,12 @@ pa_prop_type_t pa_format_info_get_prop_type(const pa_format_info *f, const char
> type = PA_PROP_TYPE_INVALID;
> break;
> }
> - json_object_put(o1);
>
> o1 = json_object_object_get(o, PA_JSON_MAX_KEY);
> if (!o1) {
> type = PA_PROP_TYPE_INVALID;
> break;
> }
> - json_object_put(o1);
>
> type = PA_PROP_TYPE_INT_RANGE;
> break;
> @@ -367,13 +365,11 @@ int pa_format_info_get_prop_int_range(const pa_format_info *f, const char *key,
> goto out;
>
> *min = json_object_get_int(o1);
> - json_object_put(o1);
>
> if (!(o1 = json_object_object_get(o, PA_JSON_MAX_KEY)))
> goto out;
>
> *max = json_object_get_int(o1);
> - json_object_put(o1);
>
> ret = 0;
I'm hoping something changed in the json-c side, and that I didn't write
such horribly wrong code. :)
There's one more json_object_put() that needs removal (as reported by
valgrind) in pa_format_info_get_prop_type() under the 'json_type_array'
case. If you'd like to, please go ahead and add this in, else I'll check
in a fix after the rest of yours are pushed.
Cheers,
Arun
More information about the pulseaudio-discuss
mailing list