tinycc-devel
[Top][All Lists]
Advanced

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

Re: [Tinycc-devel] Modifying a char pointer initialized by character str


From: uso ewin
Subject: Re: [Tinycc-devel] Modifying a char pointer initialized by character string literal should cause an error.
Date: Fri, 27 Dec 2019 19:07:44 +0100

On Fri, Dec 27, 2019 at 4:22 PM 瞿兴 <address@hidden> wrote:
>
> Hi,
>
> In section 6.7.8 of the C99 draft document defines :
>
> If an attempt is made to use pointer variable p to modify the contents of the 
> array, the behavior is undefined.
>
> When executing the testcase(in the attachment), tinyc does not report an 
> error and modify the value of the variable NISLParameter0 successfully while 
> other compilers such as gcc and clang report a runtime error: “Segmentation 
> fault”. I think it would be better for tinyc to throw an error or at least a 
> warning for the wrong action.
>
>
>
> The OS is:
>
> Linux version 4.15.0-65-generic
>
>
>
> Compiler Version:
>
> tcc version 0.9.27 (x86_64 Linux)
>
>
>
> Output:
>
> 111
>
> abcde1ghij
>
>
>
> Expected output:
>
> Throw an error or at least a warning.
>
>
>
> The attachment includes the relevant testcase. Looking forward to your reply.

Undefined Behavior mean the Behavior is undefined,
so not having an error is as okay as a segmentation fault
Also, even on gcc on linux, if you use mprotec
you can modify a string literal without error.



reply via email to

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