On 25/05/20 00:12, Leonid Bloch wrote:
> From: Leonid Bloch <lbl...@janustech.com>
> 
> Not checking the value of malloc will cause a warning with GCC 10.1,
> which may result in configuration failure, with the following line in
> config.log:
> 
> config-temp/qemu-conf.c:2:18: error: ignoring return value of ‘malloc’ 
> declared with attribute ‘warn_unused_result’ [-Werror=unused-result]
>     2 | int main(void) { malloc(1); return 0; }
>       |                  ^~~~~~~~~
> 
> Signed-off-by: Leonid Bloch <lb.work...@gmail.com>
> ---
>  configure | 20 +++++++++++++++++---
>  1 file changed, 17 insertions(+), 3 deletions(-)
> 
> diff --git a/configure b/configure
> index 2fc05c4465..d0220b2944 100755
> --- a/configure
> +++ b/configure
> @@ -4567,7 +4567,13 @@ fi
>  if test "$tcmalloc" = "yes" ; then
>    cat > $TMPC << EOF
>  #include <stdlib.h>
> -int main(void) { malloc(1); return 0; }
> +int main(void) {
> +    void *tmp = malloc(1);
> +    if (tmp != NULL) {
> +        return 0;
> +    }
> +    return 1;
> +}
>  EOF
>  
>    if compile_prog "" "-ltcmalloc" ; then
> @@ -4583,7 +4589,13 @@ fi
>  if test "$jemalloc" = "yes" ; then
>    cat > $TMPC << EOF
>  #include <stdlib.h>
> -int main(void) { malloc(1); return 0; }
> +int main(void) {
> +    void *tmp = malloc(1);
> +    if (tmp != NULL) {
> +        return 0;
> +    }
> +    return 1;
> +}
>  EOF
>  
>    if compile_prog "" "-ljemalloc" ; then
> @@ -6144,7 +6156,9 @@ if test "$sanitizers" = "yes" ; then
>  #include <stdlib.h>
>  int main(void) {
>      void *tmp = malloc(10);
> -    return *(int *)(tmp + 2);
> +    if (tmp != NULL) {
> +        return *(int *)(tmp + 2);
> +    }
>  }
>  EOF
>    if compile_prog "$CPU_CFLAGS -Werror -fsanitize=undefined" ""; then
> 

Queued, thanks.

Paolo


Reply via email to