On Fri, Jul 15, 2016 at 2:07 PM, Dan Carpenter <dan.carpen...@oracle.com> wrote:
> It doesn't change the runtime behavior, but my static checker complains
> that curly braces were intended.
>
> Signed-off-by: Dan Carpenter <dan.carpen...@oracle.com>
>
This was clearly a bug. It did not fire when padding=0 because you
never come out of the loop with sret != 0.
If padding=0, then you execute the fwrite() and then the sret test is
just after, so this was working but I agree
this was not the intended code flow.
Thanks for tracking this down.

> diff --git a/tools/perf/jvmti/jvmti_agent.c b/tools/perf/jvmti/jvmti_agent.c
> index 3573f31..91bf333 100644
> --- a/tools/perf/jvmti/jvmti_agent.c
> +++ b/tools/perf/jvmti/jvmti_agent.c
> @@ -491,10 +491,11 @@ jvmti_write_debug_info(void *agent, uint64_t code, 
> const char *file,
>                 if (sret != 1)
>                         goto error;
>         }
> -       if (padding_count)
> +       if (padding_count) {
>                 sret = fwrite_unlocked(pad_bytes, padding_count, 1, fp);
>                 if (sret != 1)
>                         goto error;
> +       }
>
>         funlockfile(fp);
>         return 0;

Reply via email to