guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Undefined Behavior sanitizer findings


From: Mark H Weaver
Subject: Re: Undefined Behavior sanitizer findings
Date: Tue, 16 Apr 2019 23:45:57 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux)

Hi Jeffrey,

Jeffrey Walton <address@hidden> writes:

> Guile 2.2.4 built with -fsanitize=undefined on Fedora 29, x86_64.
> 'make check' is producing UBsan findings.
>
> UBsan operates on real data. All of the findings are valid.
>
> Search for 'runtime error' in the log.

Thanks very much for this, and sorry for the long delay.  The log shows
four kinds of errors:

(1) bytevectors.c:665:3: runtime error: null pointer passed as argument 2, 
which is declared to never be null
(2) srfi-14.c:366:7: runtime error: null pointer passed as argument 2, which is 
declared to never be null
(3) strings.c:2292:3: runtime error: null pointer passed as argument 1, which 
is declared to never be null
(4) ../src/x86/ffi64.c:552:5: runtime error: store to misaligned address 
0x7fab61c8e012 for type 'long long unsigned int', which requires 8 byte 
alignment

The first three are issues in libguile, which I have fixed in commit
6b1de860ab2360e8679205aecdc1c837744a4b9c on the stable-2.2 branch:

  
https://git.savannah.gnu.org/cgit/guile.git/commit/?h=stable-2.2&id=6b1de860ab2360e8679205aecdc1c837744a4b9c

The last was an issue in libffi, in this code:

  https://github.com/libffi/libffi/blob/v3.2.1/src/x86/ffi64.c#L551

However, that code was completely rewritten, years ago, in this commit:

  
https://github.com/libffi/libffi/commit/6b62fb4a26d7363548a92f1a156562cfa648726e

Please let us know if you see more issues like this in Guile.

     Regards,
       Mark



reply via email to

[Prev in Thread] Current Thread [Next in Thread]