Peter Maydell <peter.mayd...@linaro.org> writes:

> The unlink() function doesn't accept a NULL pointer, so
> don't pass it one. Spotted by the clang sanitizer.
>
> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
> ---
>  tests/hd-geo-test.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/tests/hd-geo-test.c b/tests/hd-geo-test.c
> index 12ee392..6176e81 100644
> --- a/tests/hd-geo-test.c
> +++ b/tests/hd-geo-test.c
> @@ -416,7 +416,9 @@ int main(int argc, char **argv)
>      ret = g_test_run();
>  
>      for (i = 0; i < backend_last; i++) {
> -        unlink(img_file_name[i]);
> +        if (img_file_name[i]) {
> +            unlink(img_file_name[i]);
> +        }
>      }
>  
>      return ret;

And what terrible, terrible things unlink()'s going to do when passed a
null pointer?  Turns out the same scary terrible thing it has always
done: return -1 and set errno = EFAULT.

Reply via email to