From b99bea24892a501010d403dd696b7ad6c52db333 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Nov 2006 18:54:43 +0000 Subject: [PATCH] Don't pass NULL to strncpy. (#359537, patch by Carlos Garcia Campos) 2006-11-15 Matthias Clasen * modules/printbackends/cups/gtkprintbackendcups.c (cups_printer_get_options): Don't pass NULL to strncpy. (#359537, patch by Carlos Garcia Campos) --- ChangeLog | 5 +++++ .../printbackends/cups/gtkprintbackendcups.c | 17 +++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4c047cab4..5c5ccd61a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-11-15 Matthias Clasen + + * modules/printbackends/cups/gtkprintbackendcups.c (cups_printer_get_options): + Don't pass NULL to strncpy. (#359537, patch by Carlos Garcia Campos) + 2006-11-15 Michael Natterer * gtk/gtkrange.[ch]: added properties "fill-level", diff --git a/modules/printbackends/cups/gtkprintbackendcups.c b/modules/printbackends/cups/gtkprintbackendcups.c index 809733d39..e40c8a75e 100644 --- a/modules/printbackends/cups/gtkprintbackendcups.c +++ b/modules/printbackends/cups/gtkprintbackendcups.c @@ -2196,14 +2196,27 @@ cups_printer_get_options (GtkPrinter *printer, { GtkPaperSize *paper_size; ppd_option_t *option; + const gchar *ppd_name; ppdMarkDefaults (ppd_file); paper_size = gtk_page_setup_get_paper_size (page_setup); option = ppdFindOption (ppd_file, "PageSize"); - strncpy (option->defchoice, gtk_paper_size_get_ppd_name (paper_size), - PPD_MAX_NAME); + ppd_name = gtk_paper_size_get_ppd_name (paper_size); + + if (ppd_name) + strncpy (option->defchoice, ppd_name, PPD_MAX_NAME); + else + { + gchar *custom_name; + + custom_name = g_strdup_printf (_("Custom.%2fx%.2f"), + gtk_paper_size_get_width (paper_size, GTK_UNIT_POINTS), + gtk_paper_size_get_height (paper_size, GTK_UNIT_POINTS)); + strncpy (option->defchoice, custom_name, PPD_MAX_NAME); + g_free (custom_name); + } for (i = 0; i < ppd_file->num_groups; i++) handle_group (set, ppd_file, &ppd_file->groups[i], &ppd_file->groups[i], settings); -- 2.43.2