summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/system-config-printer/files/system-config-printer-1.5.12-fix-abrt-in-udev-configure-printer.patch')
-rw-r--r--app-admin/system-config-printer/files/system-config-printer-1.5.12-fix-abrt-in-udev-configure-printer.patch72
1 files changed, 0 insertions, 72 deletions
diff --git a/app-admin/system-config-printer/files/system-config-printer-1.5.12-fix-abrt-in-udev-configure-printer.patch b/app-admin/system-config-printer/files/system-config-printer-1.5.12-fix-abrt-in-udev-configure-printer.patch
deleted file mode 100644
index 7aed67584f70..000000000000
--- a/app-admin/system-config-printer/files/system-config-printer-1.5.12-fix-abrt-in-udev-configure-printer.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From b9289dfe105bdb502f183f0afe7a115ecae5f2af Mon Sep 17 00:00:00 2001
-From: Zdenek Dohnal <zdohnal@redhat.com>
-Date: Fri, 1 Nov 2019 15:55:34 +0100
-Subject: [PATCH] Fix abrt in udev-configure-printer
-
-The abrt was due invalid free - several printer models have its normalized uri cropped.
-The original pointer from strdup() was lost so its freeing was invalid.
----
- udev/udev-configure-printer.c | 21 ++++++++++++++-------
- 1 file changed, 14 insertions(+), 7 deletions(-)
-
-diff --git a/udev/udev-configure-printer.c b/udev/udev-configure-printer.c
-index d753bbeaf..a44520f9c 100644
---- a/udev/udev-configure-printer.c
-+++ b/udev/udev-configure-printer.c
-@@ -1285,7 +1285,8 @@ normalize_device_uri(const char *str_orig)
- {
- int i, j;
- int havespace = 0;
-- char *str;
-+ char *str = NULL;
-+ char *cropped_str = NULL;
-
- if (str_orig == NULL)
- return NULL;
-@@ -1333,7 +1334,11 @@ normalize_device_uri(const char *str_orig)
- (strstr(str, "packard ") == str) ||
- (strstr(str, "apollo ") == str) ||
- (strstr(str, "usb ") == str))
-- str = strchr(str, ' ') + 1;
-+ {
-+ cropped_str = strdup(strchr(str, ' ') + 1);
-+ free(str);
-+ str = cropped_str;
-+ }
-
- return str;
- }
-@@ -1448,8 +1453,6 @@ for_each_matching_queue (struct device_uris *device_uris,
- for (i = 0; i < device_uris->n_uris; i++)
- {
- device_uri_n = normalize_device_uri(device_uris->uri[i]);
-- if (this_device_uri_n == NULL || device_uri_n == NULL)
-- goto skip;
- /* As for the same device different URIs can come out when the
- device is accessed via the usblp kernel module or via low-
- level USB (libusb) we cannot simply compare URIs, must
-@@ -1509,17 +1512,21 @@ for_each_matching_queue (struct device_uris *device_uris,
- break;
- }
- }
-+ if (device_uri_n != NULL)
-+ {
-+ free(device_uri_n);
-+ device_uri_n = NULL;
-+ }
- }
-
- firstqueue = 0;
-
- skip:
-- if (device_uri_n != NULL)
-- free(device_uri_n);
-- device_uri_n = NULL;
- if (this_device_uri_n != NULL)
-+ {
- free(this_device_uri_n);
- this_device_uri_n = NULL;
-+ }
- if (!attr)
- break;
- }