Skip to content

Commit b5c0b16

Browse files
committed
Add assertion for sort loop
1 parent 169d7b4 commit b5c0b16

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

packages/seacas/applications/nem_slice/elb_util.C

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright(C) 1999-2024 National Technology & Engineering Solutions
2+
* Copyright(C) 1999-2025 National Technology & Engineering Solutions
33
* of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
44
* NTESS, the U.S. Government retains certain rights in this software.
55
*
@@ -266,6 +266,7 @@ namespace {
266266
for (size_t i = 1; i < N; i++) {
267267
INT tmp = v[i];
268268
for (j = i; tmp < v[j - 1]; j--) {
269+
assert(j >= 1);
269270
v[j] = v[j - 1];
270271
}
271272
v[j] = tmp;
@@ -633,6 +634,7 @@ namespace {
633634
for (j = i; is_less_than4(small_val1, small_val2, small_val3, small_val4, v1[j - 1],
634635
v2[j - 1], v3[j - 1], v4[j - 1]);
635636
j--) {
637+
assert(j >= 1);
636638
v1[j] = v1[j - 1];
637639
v2[j] = v2[j - 1];
638640
v3[j] = v3[j - 1];
@@ -748,6 +750,7 @@ namespace {
748750
INT small_val2 = v2[i];
749751
size_t j;
750752
for (j = i; is_less_than2(small_val1, small_val2, v1[j - 1], v2[j - 1]); j--) {
753+
assert(j >= 1);
751754
v1[j] = v1[j - 1];
752755
v2[j] = v2[j - 1];
753756
}

packages/seacas/applications/nem_spread/sort_utils.C

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright(C) 1999-2023 National Technology & Engineering Solutions
2+
* Copyright(C) 1999-2023, 2025 National Technology & Engineering Solutions
33
* of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
44
* NTESS, the U.S. Government retains certain rights in this software.
55
*
@@ -107,6 +107,7 @@ namespace {
107107
INT tmp = iv[i];
108108
size_t j;
109109
for (j = i; v[tmp] < v[iv[j - 1]]; j--) {
110+
assert(j >= 1);
110111
iv[j] = iv[j - 1];
111112
}
112113
iv[j] = tmp;
@@ -188,6 +189,7 @@ namespace {
188189
INT tmp = v[i];
189190
size_t j;
190191
for (j = i; tmp < v[j - 1]; j--) {
192+
assert(j >= 1);
191193
v[j] = v[j - 1];
192194
}
193195
v[j] = tmp;

packages/seacas/libraries/suplib_cpp/iqsort.C

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
// Copyright(C) 1999-2020, 2023, 2024 National Technology & Engineering Solutions
1+
// Copyright(C) 1999-2020, 2023, 2024, 2025 National Technology & Engineering Solutions
22
// of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
33
// NTESS, the U.S. Government retains certain rights in this software.
44
//
55
// See packages/seacas/LICENSE for details
66
#include "iqsort.h"
7+
#include <assert.h>
78
#include <cstdint>
89
#include <fmt/ostream.h>
910

@@ -147,6 +148,7 @@ namespace {
147148
for (size_t i = 1; i < N; i++) {
148149
INT tmp = iv[i];
149150
for (j = i; v[tmp] < v[iv[j - 1]]; j--) {
151+
assert(j >= 1);
150152
iv[j] = iv[j - 1];
151153
}
152154
iv[j] = tmp;

0 commit comments

Comments
 (0)