mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
libdaemon: prohibit use of %d for 64bit numbres
Do not let pass %d and print internal error when found one. Require all users to use FMTd64 - it's seriously confusing.
This commit is contained in:
parent
0b5a75c9af
commit
36ee367343
@ -38,7 +38,12 @@ int buffer_append_vf(struct buffer *buf, va_list ap)
|
||||
goto fail;
|
||||
}
|
||||
keylen = strchr(next, '=') - next;
|
||||
if (strstr(next, "%d") || strstr(next, FMTd64)) {
|
||||
if (strstr(next, "%d")) {
|
||||
/* Use of plain %d is prohibited, use FMTd64 */
|
||||
log_error(INTERNAL_ERROR "Do not use %%d and use correct 64bit form");
|
||||
goto fail;
|
||||
}
|
||||
if (strstr(next, FMTd64)) {
|
||||
value = va_arg(ap, int64_t);
|
||||
if (dm_asprintf(&append, "%.*s= %" PRId64 "\n", keylen, next, value) < 0)
|
||||
goto fail;
|
||||
|
Loading…
Reference in New Issue
Block a user