summaryrefslogtreecommitdiff
path: root/usr/src/lib/libdemangle/common/rust.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libdemangle/common/rust.c')
-rw-r--r--usr/src/lib/libdemangle/common/rust.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/usr/src/lib/libdemangle/common/rust.c b/usr/src/lib/libdemangle/common/rust.c
index ec5e07b354..b3aeb3a2a1 100644
--- a/usr/src/lib/libdemangle/common/rust.c
+++ b/usr/src/lib/libdemangle/common/rust.c
@@ -239,7 +239,7 @@ rustdem_parse_name_segment(rustdem_state_t *st, strview_t *svp, boolean_t first)
rem = sv_remaining(&sv);
- if (rem < len || len == SIZE_MAX) {
+ if (rem < len) {
st->rds_error = EINVAL;
return (B_FALSE);
}
@@ -384,13 +384,11 @@ rustdem_parse_hash(rustdem_state_t *st, strview_t *svp)
}
/*
- * A 10 digit value would imply a name 1Gb or larger in size. It seems
- * unlikely to the point of absurdity any such value could every possibly
- * be valid (or even have compiled properly). This also prevents the
- * uint64_t conversion from possibly overflowing since the value must always
- * be below 10 * UINT32_MAX.
+ * We have to pick an arbitrary limit here; 999,999,999 fits comfortably
+ * within an int32_t, so let's go with that, as it seems unlikely we'd
+ * ever see a larger value in context.
*/
-#define MAX_DIGITS 10
+#define MAX_DIGITS 9
static boolean_t
rustdem_parse_num(rustdem_state_t *restrict st, strview_t *restrict svp,