From 0faf404e22874ad3bd47d92b5bbe2b2484163119 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: May 20 2011 15:06:11 +0000 Subject: Don't return a local variable out of scope (bug #704568). --- diff --git a/pnm2ppa-coverity-return-local.patch b/pnm2ppa-coverity-return-local.patch new file mode 100644 index 0000000..ce7e1d3 --- /dev/null +++ b/pnm2ppa-coverity-return-local.patch @@ -0,0 +1,52 @@ +diff -up pnm2ppa-1.04/calibrate_ppa.c.coverity-return-local pnm2ppa-1.04/calibrate_ppa.c +--- pnm2ppa-1.04/calibrate_ppa.c.coverity-return-local 2000-11-11 22:22:38.000000000 +0000 ++++ pnm2ppa-1.04/calibrate_ppa.c 2011-05-20 16:04:23.233425268 +0100 +@@ -75,7 +75,7 @@ main (int argc, char *argv[]) + BOOLEAN gamma = false ; + FILE *outFile = NULL ; + int testPattern = 0; +- char *out_filepath = NULL; ++ char out_filepath[MAXPATHLEN]; + char c; + static struct option long_opts[] = { + {"gamma",0,0,'g'}, +@@ -157,9 +157,7 @@ main (int argc, char *argv[]) + { + if ( strlen(optarg) < MAXPATHLEN ) + { +- char filepath[MAXPATHLEN]; +- strncpy(filepath, optarg, MAXPATHLEN); +- out_filepath = filepath ; ++ strncpy(out_filepath, optarg, MAXPATHLEN); + use_stdout = false ; + } + } +diff -up pnm2ppa-1.04/pnm2ppa.c.coverity-return-local pnm2ppa-1.04/pnm2ppa.c +--- pnm2ppa-1.04/pnm2ppa.c.coverity-return-local 2000-11-11 19:53:03.000000000 +0000 ++++ pnm2ppa-1.04/pnm2ppa.c 2011-05-20 16:04:23.234425246 +0100 +@@ -145,20 +145,15 @@ print_pnm (FILE * fptr) + char * + readPath(char *input ) + { +- char File_path[MAXPATHLEN]; + char *path = NULL; + /* security audit ajv 20001007; be very careful with input strings!*/ + if (strlen(input) < MAXPATHLEN ) + { +- if ( strncpy (File_path, input, MAXPATHLEN )) +- { +- /* +- a user-specifed file *File_path may later be opened; +- should any extra validation of this be performed now ? +- */ +- path = File_path; +- return path; +- } ++ path = strdup(input); ++ /* ++ a user-specifed file *path may later be opened; ++ should any extra validation of this be performed now ? ++ */ + } + else + { diff --git a/pnm2ppa.spec b/pnm2ppa.spec index d734955..169016e 100644 --- a/pnm2ppa.spec +++ b/pnm2ppa.spec @@ -2,7 +2,7 @@ Name: pnm2ppa Summary: Drivers for printing to HP PPA printers Epoch: 1 Version: 1.04 -Release: 21%{?dist} +Release: 22%{?dist} URL: http://sourceforge.net/projects/pnm2ppa Source: http://download.sourceforge.net/pnm2ppa/pnm2ppa-%{version}.tar.gz # Following sourcelink is dead currently. @@ -11,6 +11,8 @@ Source1: http://www.httptech.com/ppa/files/ppa-0.8.6.tar.gz Patch2: pbm2ppa-20000205.diff # Use RPM_OPT_FLAGS. Patch3: pnm2ppa-redhat.patch +# Don't return a local variable out of scope (bug #704568). +Patch4: pnm2ppa-coverity-return-local.patch License: GPLv2 Group: Applications/Publishing @@ -29,6 +31,7 @@ Install pnm2ppa if you need to print to a PPA printer. %setup -q -T -D -a 1 %patch2 -p0 -b .20000205 %patch3 -p1 -b .rh +%patch4 -p1 -b .coverity-return-local for file in docs/en/LICENSE pbm2ppa-0.8.6/LICENSE; do sed "s|\r||g" $file > $file.new && \ @@ -83,6 +86,9 @@ done %config(noreplace) %{_sysconfdir}/pbm2ppa.conf %changelog +* Fri May 20 2011 Tim Waugh - 1:1.04-22 +- Don't return a local variable out of scope (bug #704568). + * Wed Feb 09 2011 Fedora Release Engineering - 1:1.04-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild