BUG/MINOR: spoe: fix off-by-one length in UUID format string

The per-thread UUID string produced by generate_pseudo_uuid() could be
off by one character due to too small of size limit in snprintf(). In
practice the UUID remains large enough to avoid any collision though.

This should be backported to 2.0 and 1.9.
This commit is contained in:
Willy Tarreau 2019-10-29 10:25:49 +01:00
parent e112c8a64b
commit 4fd6d671b2
1 changed files with 1 additions and 1 deletions

View File

@ -276,7 +276,7 @@ generate_pseudo_uuid()
last >>= 32u;
bits -= 32;
}
snprintf(uuid, 36, "%8.8x-%4.4x-%4.4x-%4.4x-%12.12llx",
snprintf(uuid, 37, "%8.8x-%4.4x-%4.4x-%4.4x-%12.12llx",
rnd[0],
rnd[1] & 0xFFFF,
((rnd[1] >> 16u) & 0xFFF) | 0x4000, // highest 4 bits indicate the uuid version