]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev: ensure tag parsing stays within bounds 40983/head
authorLuca Boccassi <luca.boccassi@gmail.com>
Fri, 6 Mar 2026 20:25:05 +0000 (20:25 +0000)
committerLuca Boccassi <luca.boccassi@gmail.com>
Tue, 10 Mar 2026 21:29:14 +0000 (21:29 +0000)
This cannot actually happen, but add a safety check nonetheless.

Reported on yeswehack.com as:
YWH-PGM9780-43

Follow-up for d7867b31836173d1a943ecb1cab6484536126411

src/udev/udev-builtin-path_id.c

index 4db20e4a13f9c3495eb4bc799df5806a7acdb168..cdd8da3203fea53e106e82d869cfa52b7cc29381 100644 (file)
@@ -654,7 +654,7 @@ static void add_id_tag(UdevEvent *event, const char *path) {
         size_t i = 0;
 
         /* compose valid udev tag name */
-        for (const char *p = path; *p; p++) {
+        for (const char *p = path; *p && i < sizeof(tag) - 1; p++) {
                 if (ascii_isdigit(*p) ||
                     ascii_isalpha(*p) ||
                     *p == '-') {