diff options
Diffstat (limited to 'source/ap/hplip/hplip.prevent_segfault.diff')
-rw-r--r-- | source/ap/hplip/hplip.prevent_segfault.diff | 23 |
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 00000000..1021a2e6 --- /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); |