summaryrefslogtreecommitdiffstats
path: root/source/ap/hplip/hplip.prevent_segfault.diff
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/hplip/hplip.prevent_segfault.diff')
-rw-r--r--source/ap/hplip/hplip.prevent_segfault.diff23
1 files changed, 23 insertions, 0 deletions
diff --git a/source/ap/hplip/hplip.prevent_segfault.diff b/source/ap/hplip/hplip.prevent_segfault.diff
new file mode 100644
index 000000000..1021a2e65
--- /dev/null
+++ b/source/ap/hplip/hplip.prevent_segfault.diff
@@ -0,0 +1,23 @@
+Thanks to Tim Waugh <twaugh redhat com> for the patch
+Prevent crash when DEVICE_URI/PRINTER environment variables are not
+ set (https://bugzilla.redhat.com/show_bug.cgi?id=479808 comment 6)
+
+diff -Nur hplip-3.9.4b.old/prnt/hpijs/hpijs.cpp hplip-3.9.4b.new/prnt/hpijs/hpijs.cpp
+--- hplip-3.9.4b.old/prnt/hpijs/hpijs.cpp 2009-04-29 15:36:54.000000000 -0500
++++ hplip-3.9.4b.new/prnt/hpijs/hpijs.cpp 2009-06-09 00:41:44.684172840 -0500
+@@ -218,8 +218,14 @@
+ // call dbus here
+ const char *user_name = " ";
+ const char *title = " ";
++ char *device_uri = getenv ("DEVICE_URI");
++ char *printer = getenv("PRINTER");
+ int job_id = 0;
+- SendDbusMessage (getenv ("DEVICE_URI"), getenv("PRINTER"),
++ if (!device_uri)
++ device_uri = "";
++ if (!printer)
++ printer = "";
++ SendDbusMessage (device_uri, printer,
+ EVENT_PRINT_FAILED_MISSING_PLUGIN,
+ user_name, job_id, title);
+ BUG("unable to set device=%s, err=%d\n", svalue, r);