stdcxx-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Travis Vitek (JIRA)" <j...@apache.org>
Subject [jira] Commented: (STDCXX-829) [HP aCC 6.16] bogus cadvise warning #20206 on safe code
Date Fri, 04 Apr 2008 18:41:24 GMT

    [ https://issues.apache.org/jira/browse/STDCXX-829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585696#action_12585696
] 

Travis Vitek commented on STDCXX-829:
-------------------------------------

Note that changing the {{strcpy}} to {{memcpy (b, a, n)}} does not work either.

> [HP aCC 6.16] bogus cadvise warning #20206 on safe code
> -------------------------------------------------------
>
>                 Key: STDCXX-829
>                 URL: https://issues.apache.org/jira/browse/STDCXX-829
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: External
>         Environment: $ uname -sr && aCC -V 
> HP-UX B.11.31
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007] 
>            Reporter: Travis Vitek
>
> Copying data from one buffer to a smaller one results in the warning, even if you check
for overflow before the copy.
> {noformat}
> $ cat t.cpp && aCC +w -c t.cpp
> #include <string.h>
> int main (int argc, char* argv[])
> {
>     char a [32] = { 'a', 'b', 'c', '\0' };
>     char b [16];
>     const size_t n = strlen (a) + 1;
>     if (sizeof (b) < n)
>         return 1;
>     strcpy (b, a);
>     return 0;    
> }
> "t.cpp", line 12, procedure main: warning #20206-D: Out of bound access (In
>           expression "strcpy((char*)b, (char*)a)", variable "b" [t.cpp:6]
>           (type: char [16]) has byte range [0 .. 15], writing byte range [0 ..
>           31].)
> {noformat}
> A workaround is to create a plain pointer to the source buffer and then do the copy.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message