You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@stdcxx.apache.org by "Scott (Yu) Zhong (JIRA)" <ji...@apache.org> on 2008/03/14 19:00:26 UTC
[jira] Created: (STDCXX-761) Out of bound access in new.cpp
Out of bound access in new.cpp
------------------------------
Key: STDCXX-761
URL: https://issues.apache.org/jira/browse/STDCXX-761
Project: C++ Standard Library
Issue Type: Sub-task
Components: Tests
Affects Versions: 4.2.0
Environment: $ uname -sr && aCC -V
HP-UX B.11.31
aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
Reporter: Scott (Yu) Zhong
Fix For: 4.2.1
"/amd/devco/scottz/stdcxx/4.2.x/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
"/amd/devco/scottz/stdcxx/4.2.x/tests/src/new.cpp", line 630, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], reading byte range [0 .. 127].)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Issue Comment Edited: (STDCXX-761) [HP aCC 6.16] Out of
bound access in new.cpp
Posted by "Eric Lemings (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585316#action_12585316 ]
elemings edited comment on STDCXX-761 at 4/3/08 3:37 PM:
-------------------------------------------------------------
Travis,
If you could, give the following patch a whirl (or quick review
at least).
{noformat}
$ svn diff
Index: tests/src/new.cpp
===================================================================
--- tests/src/new.cpp (revision 644444)
+++ tests/src/new.cpp (working copy)
@@ -604,6 +604,17 @@
return ret;
}
+static void
+rwt_checkpoint_compare (_RWSTD_SIZE_T* diffs, _RWSTD_SIZE_T n,
+ const _RWSTD_SIZE_T* st0, const _RWSTD_SIZE_T*
st1,
+ bool& diff_0)
+{
+ for (_RWSTD_SIZE_T i = 0; i != n; ++i) {
+ diffs [i] = st1 [i] - st0 [i];
+ if (diffs [i])
+ diff_0 = false;
+ }
+}
_TEST_EXPORT rwt_free_store*
rwt_checkpoint (const rwt_free_store *st0, const rwt_free_store *st1)
@@ -616,21 +627,24 @@
// of the free_store specified by the arguments
static rwt_free_store diff;
-
memset (&diff, 0, sizeof diff);
- size_t* diffs = diff.new_calls_;
- const size_t* st0_args = st0->new_calls_;
- const size_t* st1_args = st1->new_calls_;
-
bool diff_0 = true; // difference of 0 (i.e., none)
- for (size_t i = 0; i != 16; ++i) {
- diffs [i] = st1_args [i] - st0_args [i];
- if (diffs [i])
- diff_0 = false;
- }
+#define EXTENT(array) (sizeof (array) / sizeof(*array))
+#define COMPARE(member) \
+ rwt_checkpoint_compare (diff.member, EXTENT(diff.member),\
+ st0->member, st1->member, diff_0)
+ COMPARE(new_calls_);
+ COMPARE(delete_calls_);
+ COMPARE(delete_0_calls_);
+ COMPARE(blocks_);
+ COMPARE(bytes_);
+ COMPARE(max_blocks_);
+ COMPARE(max_bytes_);
+ COMPARE(max_block_size_);
+
if (diff_0)
return 0;
{noformat}
The 0.new test seems to be okay with it.
Thanks,
Brad.
was (Author: elemings):
Travis,
If you could, give the following patch a whirl (or quick review
at least).
-----
$ svn diff
Index: tests/src/new.cpp
===================================================================
--- tests/src/new.cpp (revision 644444)
+++ tests/src/new.cpp (working copy)
@@ -604,6 +604,17 @@
return ret;
}
+static void
+rwt_checkpoint_compare (_RWSTD_SIZE_T* diffs, _RWSTD_SIZE_T n,
+ const _RWSTD_SIZE_T* st0, const _RWSTD_SIZE_T*
st1,
+ bool& diff_0)
+{
+ for (_RWSTD_SIZE_T i = 0; i != n; ++i) {
+ diffs [i] = st1 [i] - st0 [i];
+ if (diffs [i])
+ diff_0 = false;
+ }
+}
_TEST_EXPORT rwt_free_store*
rwt_checkpoint (const rwt_free_store *st0, const rwt_free_store *st1)
@@ -616,21 +627,24 @@
// of the free_store specified by the arguments
static rwt_free_store diff;
-
memset (&diff, 0, sizeof diff);
- size_t* diffs = diff.new_calls_;
- const size_t* st0_args = st0->new_calls_;
- const size_t* st1_args = st1->new_calls_;
-
bool diff_0 = true; // difference of 0 (i.e., none)
- for (size_t i = 0; i != 16; ++i) {
- diffs [i] = st1_args [i] - st0_args [i];
- if (diffs [i])
- diff_0 = false;
- }
+#define EXTENT(array) (sizeof (array) / sizeof(*array))
+#define COMPARE(member) \
+ rwt_checkpoint_compare (diff.member, EXTENT(diff.member),\
+ st0->member, st1->member, diff_0)
+ COMPARE(new_calls_);
+ COMPARE(delete_calls_);
+ COMPARE(delete_0_calls_);
+ COMPARE(blocks_);
+ COMPARE(bytes_);
+ COMPARE(max_blocks_);
+ COMPARE(max_bytes_);
+ COMPARE(max_block_size_);
+
if (diff_0)
return 0;
-----
The 0.new test seems to be okay with it.
Thanks,
Brad.
> [HP aCC 6.16] Out of bound access in new.cpp
> --------------------------------------------
>
> Key: STDCXX-761
> URL: https://issues.apache.org/jira/browse/STDCXX-761
> Project: C++ Standard Library
> Issue Type: Sub-task
> Components: Test Driver
> Affects Versions: 4.2.0
> Environment: $ uname -sr && aCC -V
> HP-UX B.11.31
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
> Reporter: Scott (Yu) Zhong
> Assignee: Eric Lemings
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
> {noformat}
> aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
> +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
> +W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
> $(TOPDIR)/tests/src/new.cpp
> "$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (STDCXX-761) [HP aCC 6.16] Out of bound access in
new.cpp
Posted by "Eric Lemings (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eric Lemings resolved STDCXX-761.
---------------------------------
Resolution: Fixed
> [HP aCC 6.16] Out of bound access in new.cpp
> --------------------------------------------
>
> Key: STDCXX-761
> URL: https://issues.apache.org/jira/browse/STDCXX-761
> Project: C++ Standard Library
> Issue Type: Sub-task
> Components: Test Driver
> Affects Versions: 4.2.0
> Environment: $ uname -sr && aCC -V
> HP-UX B.11.31
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
> Reporter: Scott (Yu) Zhong
> Assignee: Eric Lemings
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Time Spent: 2h
> Remaining Estimate: 0h
>
> When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
> {noformat}
> aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
> +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
> +W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
> $(TOPDIR)/tests/src/new.cpp
> "$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (STDCXX-761) [HP aCC 6.16] Out of bound access in
new.cpp
Posted by "Scott (Yu) Zhong (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Scott (Yu) Zhong updated STDCXX-761:
------------------------------------
Description:
When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
{noformat}
aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
+W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
+W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
$(TOPDIR)/tests/src/new.cpp
"$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
{noformat}
was:
When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
{noformat}
aCC -c -mt -I/amd/devco/scottz/stdcxx/4.2.x/include -I/build/scottz/12d/include -I/amd/devco/scottz/stdcxx/4.2.x/tests/include -AA +O2 +DD64
+w +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 +W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +
W4285 +W4286 /amd/devco/scottz/stdcxx/4.2.x/tests/src/new.cpp
aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
+W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
+W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
$(TOPDIR)/tests/src/new.cpp
"$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
{noformat}
> [HP aCC 6.16] Out of bound access in new.cpp
> --------------------------------------------
>
> Key: STDCXX-761
> URL: https://issues.apache.org/jira/browse/STDCXX-761
> Project: C++ Standard Library
> Issue Type: Sub-task
> Components: Test Driver
> Affects Versions: 4.2.0
> Environment: $ uname -sr && aCC -V
> HP-UX B.11.31
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
> Reporter: Scott (Yu) Zhong
> Assignee: Eric Lemings
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
> {noformat}
> aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
> +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
> +W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
> $(TOPDIR)/tests/src/new.cpp
> "$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Issue Comment Edited: (STDCXX-761) [HP aCC 6.16] Out of
bound access in new.cpp
Posted by "Travis Vitek (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585290#action_12585290 ]
vitek edited comment on STDCXX-761 at 4/3/08 2:24 PM:
-------------------------------------------------------------
It looks like someone is being tricky. They are assuming that every member in {{rwt_free_store}} is contiguous [i.e. no padding], and they are actually comparing each of {{new_calls_}}, {{delete_calls_}}, {{blocks_}}, {{bytes_}}, {{max_blocks_}}, {{max_bytes_}} and {{max_block_size_}} with that one loop. If you decide to fix this, you'll probably end up writing eight loops of two iterations each.
Also, I'd prefer that the 2 isn't hardcoded and that you use something like {{sizeof (array) / sizeof (*array)}}, or a size macro instead.
was (Author: vitek):
It looks like someone is being tricky. They are assuming that every member in {{rwt_free_store}} is contiguous [i.e. no padding], and they are actually comparing each of {{new_calls_}}, {{delete_calls_}}, {{blocks_}}, {{bytes_}}, {{max_blocks_}}, {{max_bytes_}} and {{max_block_size_}} with that one loop. If you decide to fix this, you'll end up probably end up writing eight loops of two iterations each.
Also, I'd prefer that the 2 isn't hardcoded and that you use something like {{sizeof (array) / sizeof (*array)}}, or a size macro instead.
> [HP aCC 6.16] Out of bound access in new.cpp
> --------------------------------------------
>
> Key: STDCXX-761
> URL: https://issues.apache.org/jira/browse/STDCXX-761
> Project: C++ Standard Library
> Issue Type: Sub-task
> Components: Test Driver
> Affects Versions: 4.2.0
> Environment: $ uname -sr && aCC -V
> HP-UX B.11.31
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
> Reporter: Scott (Yu) Zhong
> Assignee: Eric Lemings
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
> {noformat}
> aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
> +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
> +W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
> $(TOPDIR)/tests/src/new.cpp
> "$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (STDCXX-761) [HP aCC 6.16] Out of bound access in
new.cpp
Posted by "Travis Vitek (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585290#action_12585290 ]
Travis Vitek commented on STDCXX-761:
-------------------------------------
It looks like someone is being tricky. They are assuming that every member in {{rwt_free_store}} is contiguous [i.e. no padding], and they are actually comparing each of {{new_calls_}}, {{delete_calls_}}, {{blocks_}}, {{bytes_}}, {{max_blocks_}}, {{max_bytes_}} and {{max_block_size_}} with that one loop. If you decide to fix this, you'll end up probably end up writing eight loops of two iterations each.
Also, I'd prefer that the 2 isn't hardcoded and that you use something like {{sizeof (array) / sizeof (*array)}}, or a size macro instead.
> [HP aCC 6.16] Out of bound access in new.cpp
> --------------------------------------------
>
> Key: STDCXX-761
> URL: https://issues.apache.org/jira/browse/STDCXX-761
> Project: C++ Standard Library
> Issue Type: Sub-task
> Components: Test Driver
> Affects Versions: 4.2.0
> Environment: $ uname -sr && aCC -V
> HP-UX B.11.31
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
> Reporter: Scott (Yu) Zhong
> Assignee: Eric Lemings
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
> {noformat}
> aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
> +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
> +W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
> $(TOPDIR)/tests/src/new.cpp
> "$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (STDCXX-761) [HP aCC 6.15] Out of bound access in
new.cpp
Posted by "Scott (Yu) Zhong (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Scott (Yu) Zhong updated STDCXX-761:
------------------------------------
Summary: [HP aCC 6.15] Out of bound access in new.cpp (was: Out of bound access in new.cpp)
> [HP aCC 6.15] Out of bound access in new.cpp
> --------------------------------------------
>
> Key: STDCXX-761
> URL: https://issues.apache.org/jira/browse/STDCXX-761
> Project: C++ Standard Library
> Issue Type: Sub-task
> Components: Tests
> Affects Versions: 4.2.0
> Environment: $ uname -sr && aCC -V
> HP-UX B.11.31
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
> Reporter: Scott (Yu) Zhong
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> "/amd/devco/scottz/stdcxx/4.2.x/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
> "/amd/devco/scottz/stdcxx/4.2.x/tests/src/new.cpp", line 630, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], reading byte range [0 .. 127].)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (STDCXX-761) [HP aCC 6.16] Out of bound access in
new.cpp
Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Sebor updated STDCXX-761:
--------------------------------
Component/s: (was: Tests)
Test Driver
Description:
When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
{noformat}
aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
+W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
+W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
$(TOPDIR)/tests/src/new.cpp
"$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
{noformat}
was:
"/amd/devco/scottz/stdcxx/4.2.x/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
"/amd/devco/scottz/stdcxx/4.2.x/tests/src/new.cpp", line 630, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], reading byte range [0 .. 127].)
Assignee: Eric Lemings
Added context, including command line, and removed formatting.
Brad, you might want to look into this while investigating STDCXX-709.
> [HP aCC 6.16] Out of bound access in new.cpp
> --------------------------------------------
>
> Key: STDCXX-761
> URL: https://issues.apache.org/jira/browse/STDCXX-761
> Project: C++ Standard Library
> Issue Type: Sub-task
> Components: Test Driver
> Affects Versions: 4.2.0
> Environment: $ uname -sr && aCC -V
> HP-UX B.11.31
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
> Reporter: Scott (Yu) Zhong
> Assignee: Eric Lemings
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
> {noformat}
> aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
> +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
> +W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
> $(TOPDIR)/tests/src/new.cpp
> "$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (STDCXX-761) [HP aCC 6.16] Out of bound access in
new.cpp
Posted by "Eric Lemings (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585719#action_12585719 ]
Eric Lemings commented on STDCXX-761:
-------------------------------------
http://svn.apache.org/viewvc?view=rev&revision=644846
> [HP aCC 6.16] Out of bound access in new.cpp
> --------------------------------------------
>
> Key: STDCXX-761
> URL: https://issues.apache.org/jira/browse/STDCXX-761
> Project: C++ Standard Library
> Issue Type: Sub-task
> Components: Test Driver
> Affects Versions: 4.2.0
> Environment: $ uname -sr && aCC -V
> HP-UX B.11.31
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
> Reporter: Scott (Yu) Zhong
> Assignee: Eric Lemings
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
> {noformat}
> aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
> +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
> +W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
> $(TOPDIR)/tests/src/new.cpp
> "$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (STDCXX-761) [HP aCC 6.16] Out of bound access in
new.cpp
Posted by "Scott (Yu) Zhong (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Scott (Yu) Zhong updated STDCXX-761:
------------------------------------
Summary: [HP aCC 6.16] Out of bound access in new.cpp (was: [HP aCC 6.15] Out of bound access in new.cpp)
> [HP aCC 6.16] Out of bound access in new.cpp
> --------------------------------------------
>
> Key: STDCXX-761
> URL: https://issues.apache.org/jira/browse/STDCXX-761
> Project: C++ Standard Library
> Issue Type: Sub-task
> Components: Tests
> Affects Versions: 4.2.0
> Environment: $ uname -sr && aCC -V
> HP-UX B.11.31
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
> Reporter: Scott (Yu) Zhong
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> "/amd/devco/scottz/stdcxx/4.2.x/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
> "/amd/devco/scottz/stdcxx/4.2.x/tests/src/new.cpp", line 630, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], reading byte range [0 .. 127].)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (STDCXX-761) [HP aCC 6.16] Out of bound access in
new.cpp
Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585376#action_12585376 ]
Martin Sebor commented on STDCXX-761:
-------------------------------------
See this [thread|http://www.mail-archive.com/dev@stdcxx.apache.org/msg00480.html] for a discussion of the patch.
> [HP aCC 6.16] Out of bound access in new.cpp
> --------------------------------------------
>
> Key: STDCXX-761
> URL: https://issues.apache.org/jira/browse/STDCXX-761
> Project: C++ Standard Library
> Issue Type: Sub-task
> Components: Test Driver
> Affects Versions: 4.2.0
> Environment: $ uname -sr && aCC -V
> HP-UX B.11.31
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
> Reporter: Scott (Yu) Zhong
> Assignee: Eric Lemings
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
> {noformat}
> aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
> +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
> +W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
> $(TOPDIR)/tests/src/new.cpp
> "$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (STDCXX-761) [HP aCC 6.16] Out of bound access in
new.cpp
Posted by "Eric Lemings (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585286#action_12585286 ]
Eric Lemings commented on STDCXX-761:
-------------------------------------
According to the definition of rwt_free_store in tests/include/rw_new.h, the array member clearly has an extent of 2. Why the loop in file tests/src/new.cpp at line 629 is hard-coded for 16 iterations is bewildering. Unless someone knows why this is, I'm inclined to just change it to 2.
> [HP aCC 6.16] Out of bound access in new.cpp
> --------------------------------------------
>
> Key: STDCXX-761
> URL: https://issues.apache.org/jira/browse/STDCXX-761
> Project: C++ Standard Library
> Issue Type: Sub-task
> Components: Test Driver
> Affects Versions: 4.2.0
> Environment: $ uname -sr && aCC -V
> HP-UX B.11.31
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
> Reporter: Scott (Yu) Zhong
> Assignee: Eric Lemings
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
> {noformat}
> aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
> +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
> +W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
> $(TOPDIR)/tests/src/new.cpp
> "$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (STDCXX-761) [HP aCC 6.16] Out of bound access in
new.cpp
Posted by "Scott (Yu) Zhong (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Scott (Yu) Zhong updated STDCXX-761:
------------------------------------
Description:
When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
{noformat}
aCC -c -mt -I/amd/devco/scottz/stdcxx/4.2.x/include -I/build/scottz/12d/include -I/amd/devco/scottz/stdcxx/4.2.x/tests/include -AA +O2 +DD64
+w +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 +W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +
W4285 +W4286 /amd/devco/scottz/stdcxx/4.2.x/tests/src/new.cpp
aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
+W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
+W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
$(TOPDIR)/tests/src/new.cpp
"$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
{noformat}
was:
When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
{noformat}
aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
+W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
+W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
$(TOPDIR)/tests/src/new.cpp
"$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
{noformat}
add compile line to description
> [HP aCC 6.16] Out of bound access in new.cpp
> --------------------------------------------
>
> Key: STDCXX-761
> URL: https://issues.apache.org/jira/browse/STDCXX-761
> Project: C++ Standard Library
> Issue Type: Sub-task
> Components: Test Driver
> Affects Versions: 4.2.0
> Environment: $ uname -sr && aCC -V
> HP-UX B.11.31
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
> Reporter: Scott (Yu) Zhong
> Assignee: Eric Lemings
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
> {noformat}
> aCC -c -mt -I/amd/devco/scottz/stdcxx/4.2.x/include -I/build/scottz/12d/include -I/amd/devco/scottz/stdcxx/4.2.x/tests/include -AA +O2 +DD64
> +w +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 +W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +
> W4285 +W4286 /amd/devco/scottz/stdcxx/4.2.x/tests/src/new.cpp
> aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
> +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
> +W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
> $(TOPDIR)/tests/src/new.cpp
> "$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (STDCXX-761) [HP aCC 6.16] Out of bound access in
new.cpp
Posted by "Eric Lemings (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585316#action_12585316 ]
Eric Lemings commented on STDCXX-761:
-------------------------------------
Travis,
If you could, give the following patch a whirl (or quick review
at least).
-----
$ svn diff
Index: tests/src/new.cpp
===================================================================
--- tests/src/new.cpp (revision 644444)
+++ tests/src/new.cpp (working copy)
@@ -604,6 +604,17 @@
return ret;
}
+static void
+rwt_checkpoint_compare (_RWSTD_SIZE_T* diffs, _RWSTD_SIZE_T n,
+ const _RWSTD_SIZE_T* st0, const _RWSTD_SIZE_T*
st1,
+ bool& diff_0)
+{
+ for (_RWSTD_SIZE_T i = 0; i != n; ++i) {
+ diffs [i] = st1 [i] - st0 [i];
+ if (diffs [i])
+ diff_0 = false;
+ }
+}
_TEST_EXPORT rwt_free_store*
rwt_checkpoint (const rwt_free_store *st0, const rwt_free_store *st1)
@@ -616,21 +627,24 @@
// of the free_store specified by the arguments
static rwt_free_store diff;
-
memset (&diff, 0, sizeof diff);
- size_t* diffs = diff.new_calls_;
- const size_t* st0_args = st0->new_calls_;
- const size_t* st1_args = st1->new_calls_;
-
bool diff_0 = true; // difference of 0 (i.e., none)
- for (size_t i = 0; i != 16; ++i) {
- diffs [i] = st1_args [i] - st0_args [i];
- if (diffs [i])
- diff_0 = false;
- }
+#define EXTENT(array) (sizeof (array) / sizeof(*array))
+#define COMPARE(member) \
+ rwt_checkpoint_compare (diff.member, EXTENT(diff.member),\
+ st0->member, st1->member, diff_0)
+ COMPARE(new_calls_);
+ COMPARE(delete_calls_);
+ COMPARE(delete_0_calls_);
+ COMPARE(blocks_);
+ COMPARE(bytes_);
+ COMPARE(max_blocks_);
+ COMPARE(max_bytes_);
+ COMPARE(max_block_size_);
+
if (diff_0)
return 0;
-----
The 0.new test seems to be okay with it.
Thanks,
Brad.
> [HP aCC 6.16] Out of bound access in new.cpp
> --------------------------------------------
>
> Key: STDCXX-761
> URL: https://issues.apache.org/jira/browse/STDCXX-761
> Project: C++ Standard Library
> Issue Type: Sub-task
> Components: Test Driver
> Affects Versions: 4.2.0
> Environment: $ uname -sr && aCC -V
> HP-UX B.11.31
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
> Reporter: Scott (Yu) Zhong
> Assignee: Eric Lemings
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
> {noformat}
> aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
> +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
> +W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
> $(TOPDIR)/tests/src/new.cpp
> "$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (STDCXX-761) [HP aCC 6.16] Out of bound access in
new.cpp
Posted by "Farid Zaripov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12589964#action_12589964 ]
Farid Zaripov commented on STDCXX-761:
--------------------------------------
Merged in 4.2.x branch thus: http://svn.apache.org/viewvc?view=rev&revision=648752
> [HP aCC 6.16] Out of bound access in new.cpp
> --------------------------------------------
>
> Key: STDCXX-761
> URL: https://issues.apache.org/jira/browse/STDCXX-761
> Project: C++ Standard Library
> Issue Type: Sub-task
> Components: Test Driver
> Affects Versions: 4.2.0
> Environment: $ uname -sr && aCC -V
> HP-UX B.11.31
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
> Reporter: Scott (Yu) Zhong
> Assignee: Eric Lemings
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Time Spent: 2h
> Remaining Estimate: 0h
>
> When compiled with HP aCC 6.16 +w +O, the test driver source file [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] produces the warnings below:
> {noformat}
> aCC -c -I$(TOPDIR)/include -I$(BUILDDIR)/include -I$(TOPDIR)/tests/include -AA +O2 +DD64 +w \
> +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 +W2261 +W2340 +W2401 +W2487 +W4227 \
> +W4229 +W4231 +W4235 +W4237 +W4249 +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 +W4297 +W3348 \
> $(TOPDIR)/tests/src/new.cpp
> "$(TOPDIR)/tests/src/new.cpp", line 629, procedure rwt_checkpoint: warning #20206-D: Out of bound access (In expression "(unsigned long long*)(&diff)->new_calls_+i", (&diff)->new_calls_ (type: unsigned long long [2]) has byte range [0 .. 15], writing byte range [0 .. 127].)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.