diff options
Diffstat (limited to 'testing/sane/20-segfault-avahi-fix-kodakio.patch')
-rw-r--r-- | testing/sane/20-segfault-avahi-fix-kodakio.patch | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/testing/sane/20-segfault-avahi-fix-kodakio.patch b/testing/sane/20-segfault-avahi-fix-kodakio.patch deleted file mode 100644 index 23f9d1ca9e..0000000000 --- a/testing/sane/20-segfault-avahi-fix-kodakio.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 37523b867d411c2f82d08128246be7e38bc9812c Mon Sep 17 00:00:00 2001 -From: Paul Newall <quandry@ntlworld.com> -Date: Mon, 14 Oct 2013 22:22:53 +0100 -Subject: [PATCH] Bugfix in kodakaio.c to fix segfault when non kodak scanners - return unexpected data via avahi auto discovery - ---- - backend/kodakaio.c | 43 ++++++++++++++++++++++++++++++---------- - doc/descriptions/kodakaio.desc | 2 +- - 3 files changed, 37 insertions(+), 12 deletions(-) - -diff --git a/backend/kodakaio.c b/backend/kodakaio.c -index 8c4583a..b442e50 100644 ---- a/backend/kodakaio.c -+++ b/backend/kodakaio.c -@@ -127,7 +127,7 @@ for ubuntu 12.10 - - #define KODAKAIO_VERSION 02 - #define KODAKAIO_REVISION 4 --#define KODAKAIO_BUILD 6 -+#define KODAKAIO_BUILD 7 - - /* for usb (but also used for net though it's not required). */ - #define MAX_BLOCK_SIZE 32768 -@@ -2184,6 +2184,7 @@ static void resolve_callback( - AvahiLookupResultFlags flags, - AVAHI_GCC_UNUSED void* userdata) { - -+ AvahiStringList *vid_pair_list = NULL, *pid_pair_list = NULL; - char *pidkey, *pidvalue; - char *vidkey, *vidvalue; - size_t valuesize; -@@ -2204,20 +2205,40 @@ static void resolve_callback( - avahi_address_snprint(a, sizeof(a), address); - - /* Output short for Kodak ESP */ -- DBG(min(10,DBG_AUTO), "%s:%u %s ", a,port,host_name); -- avahi_string_list_get_pair(avahi_string_list_find(txt, "vid"), -- &vidkey, &vidvalue, &valuesize); -- DBG(min(10,DBG_AUTO), "%s=%s ", vidkey, vidvalue); -- avahi_string_list_get_pair(avahi_string_list_find(txt, "pid"), -- &pidkey, &pidvalue, &valuesize); -- DBG(min(10,DBG_AUTO), "%s=%s\n", pidkey, pidvalue); -+ DBG(min(10,DBG_AUTO), "%s:%u %s\n", a,port,host_name); - -+ vid_pair_list = avahi_string_list_find(txt, "vid"); -+ if(vid_pair_list != NULL) { -+ avahi_string_list_get_pair(vid_pair_list, &vidkey, &vidvalue, &valuesize); -+ DBG(min(10,DBG_AUTO), "%s=%s ", vidkey, vidvalue); -+ } -+ else DBG(min(10,DBG_AUTO), "failed to find key vid\n"); -+ -+ pid_pair_list = avahi_string_list_find(txt, "pid"); -+ if(pid_pair_list != NULL) { -+ avahi_string_list_get_pair(pid_pair_list, &pidkey, &pidvalue, &valuesize); -+ DBG(min(10,DBG_AUTO), "%s=%s\n", pidkey, pidvalue); -+ } -+ else DBG(min(10,DBG_AUTO), "failed to find key pid\n"); -+ -+ if(pid_pair_list != NULL && vid_pair_list != NULL) { - ProcessAvahiDevice(name, vidvalue, pidvalue, a); -- avahi_free(vidkey); avahi_free(vidvalue); -- avahi_free(pidkey); avahi_free(pidvalue); -+ } -+ else DBG(min(10,DBG_AUTO), "didn't call ProcessAvahiDevice\n"); -+ -+ if(vid_pair_list != NULL) { -+ avahi_free(vidkey); -+ avahi_free(vidvalue); -+ DBG(min(15,DBG_AUTO), "vidkey and vidvalue freed\n"); -+ } -+ if(pid_pair_list != NULL) { -+ avahi_free(pidkey); -+ avahi_free(pidvalue); -+ DBG(min(15,DBG_AUTO), "pidkey and pidvalue freed\n"); -+ } - } - } -- -+ DBG(min(10,DBG_AUTO), "ending resolve_callback\n"); - avahi_service_resolver_free(r); - } - -diff --git a/doc/descriptions/kodakaio.desc b/doc/descriptions/kodakaio.desc -index 7882513..5fb18ed 100644 ---- a/doc/descriptions/kodakaio.desc -+++ b/doc/descriptions/kodakaio.desc -@@ -1,6 +1,6 @@ - :backend "kodakaio" - :url "http://sourceforge.net/projects/cupsdriverkodak/" --:version "2.4.6" -+:version "2.4.7" - :manpage "sane-kodakaio" - :comment "Backend for Kodak AiO ESP and Hero printers. Also possibly Advent AWL10" - :devicetype :scanner --- -1.7.10.4 - |