Commit 86647e72 authored by Keith Packard's avatar Keith Packard
Browse files

config/udev: handle const strings


Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
parent b7633c6f
...@@ -137,11 +137,13 @@ device_added(struct udev_device *udev_device) ...@@ -137,11 +137,13 @@ device_added(struct udev_device *udev_device)
/* construct USB ID in lowercase hex - "0000:ffff" */ /* construct USB ID in lowercase hex - "0000:ffff" */
if (product && if (product &&
sscanf(product, "%*x/%4x/%4x/%*x", &usb_vendor, &usb_model) == 2) { sscanf(product, "%*x/%4x/%4x/%*x", &usb_vendor, &usb_model) == 2) {
if (asprintf(&attrs.usb_id, "%04x:%04x", usb_vendor, usb_model) char *usb_id;
if (asprintf(&usb_id, "%04x:%04x", usb_vendor, usb_model)
== -1) == -1)
attrs.usb_id = NULL; usb_id = NULL;
else else
LOG_PROPERTY(ppath, "PRODUCT", product); LOG_PROPERTY(ppath, "PRODUCT", product);
attrs.usb_id = usb_id;
} }
} }
if (!name) if (!name)
...@@ -240,16 +242,16 @@ device_added(struct udev_device *udev_device) ...@@ -240,16 +242,16 @@ device_added(struct udev_device *udev_device)
free(config_info); free(config_info);
input_option_free_list(&input_options); input_option_free_list(&input_options);
free(attrs.usb_id); free((void *) attrs.usb_id);
free(attrs.pnp_id); free((void *) attrs.pnp_id);
free(attrs.product); free((void *) attrs.product);
free(attrs.device); free((void *) attrs.device);
free(attrs.vendor); free((void *) attrs.vendor);
if (attrs.tags) { if (attrs.tags) {
char **tag = attrs.tags; const char **tag = attrs.tags;
while (*tag) { while (*tag) {
free(*tag); free((void *) *tag);
tag++; tag++;
} }
free(attrs.tags); free(attrs.tags);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment