summaryrefslogtreecommitdiff
path: root/src/basic/devnum-util.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2022-04-13 16:25:32 +0200
committerLennart Poettering <lennart@poettering.net>2022-04-13 16:26:31 +0200
commit02b9047edf5ec7aef57f38adc4c7d18d27e61fbd (patch)
tree3a3326a44aeaf7c634471e7f8e0c95d70d218814 /src/basic/devnum-util.c
parentec61371fe656dff339024e0d843c36fc2f36cf8b (diff)
downloadsystemd-02b9047edf5ec7aef57f38adc4c7d18d27e61fbd.tar.gz
devnum-util: catch potential stack overruns early
Diffstat (limited to 'src/basic/devnum-util.c')
-rw-r--r--src/basic/devnum-util.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/basic/devnum-util.c b/src/basic/devnum-util.c
index e0ecf54883..70c07315c5 100644
--- a/src/basic/devnum-util.c
+++ b/src/basic/devnum-util.c
@@ -18,6 +18,8 @@ int parse_devnum(const char *s, dev_t *ret) {
n = strspn(s, DIGITS);
if (n == 0)
return -EINVAL;
+ if (n > DECIMAL_STR_MAX(dev_t))
+ return -EINVAL;
if (s[n] != ':')
return -EINVAL;