[libvirt] [PATCH 1/2] util: qemu: make qemuSafeSerialParamValue function usable by other drivers
Mikhail Feoktistov
mfeoktistov at virtuozzo.com
Thu Oct 20 12:24:02 UTC 2016
On 20.10.2016 14:09, Maxim Nestratov wrote:
> Rename qemuSafeSerialParamValue to virSafeSerialParamValue and move it to utils
>
> Signed-off-by: Maxim Nestratov <mnestratov at virtuozzo.com>
> ---
> src/libvirt_private.syms | 1 +
> src/qemu/qemu_command.c | 19 +------------------
> src/util/virutil.c | 16 ++++++++++++++++
> src/util/virutil.h | 2 ++
> 4 files changed, 20 insertions(+), 18 deletions(-)
>
> diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
> index 55b6a24..ec9fe1c 100644
> --- a/src/libvirt_private.syms
> +++ b/src/libvirt_private.syms
> @@ -2649,6 +2649,7 @@ virParseVersionString;
> virPipeReadUntilEOF;
> virReadFCHost;
> virReadSCSIUniqueId;
> +virSafeSerialParamValue;
> virScaleInteger;
> virSetBlocking;
> virSetCloseExec;
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index 8282162..0be2ffa 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -427,23 +427,6 @@ qemuBuildIoEventFdStr(virBufferPtr buf,
> return 0;
> }
>
> -#define QEMU_SERIAL_PARAM_ACCEPTED_CHARS \
> - "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_ "
> -
> -static int
> -qemuSafeSerialParamValue(const char *value)
> -{
> - if (strspn(value, QEMU_SERIAL_PARAM_ACCEPTED_CHARS) != strlen(value)) {
> - virReportError(VIR_ERR_INTERNAL_ERROR,
> - _("driver serial '%s' contains unsafe characters"),
> - value);
> - return -1;
> - }
> -
> - return 0;
> -}
> -
> -
> static int
> qemuNetworkDriveGetPort(int protocol,
> const char *port)
> @@ -1600,7 +1583,7 @@ qemuBuildDriveStr(virDomainDiskDefPtr disk,
>
> if (disk->serial &&
> virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_SERIAL)) {
> - if (qemuSafeSerialParamValue(disk->serial) < 0)
> + if (virSafeSerialParamValue(disk->serial) < 0)
> goto error;
> if (disk->bus == VIR_DOMAIN_DISK_BUS_SCSI &&
> disk->device == VIR_DOMAIN_DISK_DEVICE_LUN) {
> diff --git a/src/util/virutil.c b/src/util/virutil.c
> index 844c947..58ace3f 100644
> --- a/src/util/virutil.c
> +++ b/src/util/virutil.c
> @@ -2684,3 +2684,19 @@ virMemoryMaxValue(bool capped)
> else
> return LLONG_MAX;
> }
> +
> +#define VIR_SERIAL_PARAM_ACCEPTED_CHARS \
> + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_ "
> +
> +int
> +virSafeSerialParamValue(const char *value)
> +{
> + if (strspn(value, VIR_SERIAL_PARAM_ACCEPTED_CHARS) != strlen(value)) {
> + virReportError(VIR_ERR_INTERNAL_ERROR,
> + _("driver serial '%s' contains unsafe characters"),
> + value);
> + return -1;
> + }
> +
> + return 0;
> +}
> diff --git a/src/util/virutil.h b/src/util/virutil.h
> index 8c0d83c..f9b4831 100644
> --- a/src/util/virutil.h
> +++ b/src/util/virutil.h
> @@ -252,6 +252,8 @@ unsigned long long virMemoryLimitTruncate(unsigned long long value);
> bool virMemoryLimitIsSet(unsigned long long value);
> unsigned long long virMemoryMaxValue(bool ulong);
>
> +int virSafeSerialParamValue(const char *value);
> +
> /**
> * VIR_ASSIGN_IS_OVERFLOW:
> * @rvalue: value that is checked (evaluated twice)
ACK
More information about the libvir-list
mailing list