author | Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com> |
Fri, 31 Jul 2015 02:20:49 -0700 | |
changeset 4724 | 7b96ca49258f |
permissions | -rw-r--r-- |
4724
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
1 |
/*------------------------------------------------------------------------------------------------- |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
2 |
This patch is taken from the community. |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
3 |
Details can be found at https://www.cups.org/str.php?L4627 |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
4 |
---------------------------------------------------------------------------------------------------*/ |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
5 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
6 |
--- ppdc/ppdpo.cxx 2009-04-03 10:35:17.000000000 -0700 |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
7 |
+++ ppdc/ppdpo.cxx 2015-05-18 02:34:42.016321242 -0700 |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
8 |
@@ -58,7 +58,7 @@ |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
9 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
10 |
// Scan the command-line... |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
11 |
catalog = new ppdcCatalog("en"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
12 |
- src = 0; |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
13 |
+ src = new ppdcSource(); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
14 |
verbose = 0; |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
15 |
outfile = 0; |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
16 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
17 |
@@ -123,24 +123,26 @@ |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
18 |
_("ppdc: Loading driver information file \"%s\"...\n"), |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
19 |
argv[i]); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
20 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
21 |
- src = new ppdcSource(argv[i]); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
22 |
- |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
23 |
- // Add UI strings... |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
24 |
- for (d = (ppdcDriver *)src->drivers->first(); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
25 |
- d; |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
26 |
- d = (ppdcDriver *)src->drivers->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
27 |
- { |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
28 |
- if (verbose) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
29 |
- _cupsLangPrintf(stderr, |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
30 |
- _("ppdc: Adding/updating UI text from %s...\n"), |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
31 |
- argv[i]); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
32 |
- |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
33 |
- add_ui_strings(d, catalog); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
34 |
- } |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
35 |
+ src->read_file(argv[i]); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
36 |
+ } |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
37 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
38 |
- // Delete the printer driver information... |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
39 |
- src->release(); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
40 |
+ // If no drivers have been loaded, display the program usage message. |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
41 |
+ if ((d = (ppdcDriver *)src->drivers->first()) != NULL) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
42 |
+ { |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
43 |
+ // Add UI strings... |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
44 |
+ while (d != NULL) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
45 |
+ { |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
46 |
+ if (verbose) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
47 |
+ _cupsLangPrintf(stderr, _("ppdc: Adding/updating UI text from %s."), argv[i]); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
48 |
+ add_ui_strings(d, catalog); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
49 |
+ d = (ppdcDriver *)src->drivers->next(); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
50 |
} |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
51 |
+ } |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
52 |
+ else |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
53 |
+ usage(); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
54 |
+ |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
55 |
+// Delete the printer driver information... |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
56 |
+ src->release(); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
57 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
58 |
// Write the message catalog... |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
59 |
if (!outfile) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
60 |
@@ -150,10 +152,6 @@ |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
61 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
62 |
catalog->release(); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
63 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
64 |
- // If no drivers have been loaded, display the program usage message. |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
65 |
- if (!src) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
66 |
- usage(); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
67 |
- |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
68 |
// Return with no errors. |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
69 |
return (0); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
70 |
} |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
71 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
72 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
73 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
74 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
75 |
--- ppdc/ppdhtml.cxx 2009-04-03 10:35:17.000000000 -0700 |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
76 |
+++ ppdc/ppdhtml.cxx 2015-05-18 02:34:50.033654707 -0700 |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
77 |
@@ -58,7 +58,7 @@ |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
78 |
_cupsSetLocale(argv); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
79 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
80 |
// Scan the command-line... |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
81 |
- src = 0; |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
82 |
+ src = new ppdcSource(); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
83 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
84 |
for (i = 1; i < argc; i ++) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
85 |
if (argv[i][0] == '-') |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
86 |
@@ -97,67 +97,75 @@ |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
87 |
else |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
88 |
{ |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
89 |
// Open and load the driver info file... |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
90 |
- src = new ppdcSource(argv[i]); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
91 |
+ src->read_file(argv[i]); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
92 |
+ } |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
93 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
94 |
+ if ((d = (ppdcDriver *)src->drivers->first()) != NULL) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
95 |
+ { |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
96 |
// Create a composite group with all of the features from the |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
97 |
// drivers in the info file... |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
98 |
composite = new ppdcGroup("", ""); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
99 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
100 |
- for (d = (ppdcDriver *)src->drivers->first(); d; d = (ppdcDriver *)src->drivers->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
101 |
- for (g = (ppdcGroup *)d->groups->first(); g; g = (ppdcGroup *)d->groups->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
102 |
- for (o = (ppdcOption *)g->options->first(); o; o = (ppdcOption *)g->options->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
103 |
- { |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
104 |
- if ((compo = composite->find_option(o->name->value)) == NULL) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
105 |
- composite->add_option(new ppdcOption(o)); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
106 |
- } |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
107 |
- |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
108 |
- puts("<html>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
109 |
- printf("<head><title>Driver Summary for %s</title></head>\n", argv[i]); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
110 |
- printf("<body><h1>Driver Summary for %s</h1>\n", argv[i]); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
111 |
- printf("<p><table border='1'><thead><tr><th>Printer</th><th>Media Size</th>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
112 |
- for (compo = (ppdcOption *)composite->options->first(); compo; compo = (ppdcOption *)composite->options->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
113 |
- printf("<th>%s</th>", compo->text->value); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
114 |
- puts("</tr></thead><tbody>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
115 |
- |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
116 |
- // Write HTML summary... |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
117 |
- for (d = (ppdcDriver *)src->drivers->first(); d; d = (ppdcDriver *)src->drivers->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
118 |
- { |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
119 |
- // Write the summary for this driver... |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
120 |
- printf("<tr valign='top'><td nowrap>%s</td><td nowrap>", d->model_name->value); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
121 |
- for (size = (ppdcMediaSize *)d->sizes->first(); size; |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
122 |
- size = (ppdcMediaSize *)d->sizes->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
123 |
- printf("%s<br>", size->text->value); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
124 |
- printf("</td>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
125 |
- |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
126 |
- for (compo = (ppdcOption *)composite->options->first(); compo; |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
127 |
- compo = (ppdcOption *)composite->options->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
128 |
- if ((o = d->find_option(compo->name->value)) != NULL) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
129 |
- { |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
130 |
- printf("<td nowrap>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
131 |
- for (c = (ppdcChoice *)o->choices->first(); c; |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
132 |
- c = (ppdcChoice *)o->choices->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
133 |
- printf("%s<br>", c->text->value); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
134 |
- printf("</td>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
135 |
- } |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
136 |
- else |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
137 |
- printf("<td>N/A</td>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
138 |
- |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
139 |
- puts("</tr>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
140 |
- } |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
141 |
- |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
142 |
- puts("</tbody></table></p>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
143 |
- puts("</body>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
144 |
- puts("</html>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
145 |
- // Delete the printer driver information... |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
146 |
- composite->release(); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
147 |
- src->release(); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
148 |
+ while (d != NULL) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
149 |
+ { |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
150 |
+ for (g = (ppdcGroup *)d->groups->first(); g; g = (ppdcGroup *)d->groups->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
151 |
+ for (o = (ppdcOption *)g->options->first(); o; o = (ppdcOption *)g->options->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
152 |
+ { |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
153 |
+ if ((compo = composite->find_option(o->name->value)) == NULL) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
154 |
+ composite->add_option(new ppdcOption(o)); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
155 |
+ } |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
156 |
+ d = (ppdcDriver *)src->drivers->next(); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
157 |
} |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
158 |
+ puts("<html>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
159 |
+ printf("<head><title>Driver Summary for %s</title></head>\n", argv[i]); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
160 |
+ printf("<body><h1>Driver Summary for %s</h1>\n", argv[i]); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
161 |
+ printf("<p><table border='1'><thead><tr><th>Printer</th><th>Media Size</th>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
162 |
+ for (compo = (ppdcOption *)composite->options->first(); compo; compo = (ppdcOption *)composite->options->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
163 |
+ printf("<th>%s</th>", compo->text->value); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
164 |
+ puts("</tr></thead><tbody>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
165 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
166 |
- // If no drivers have been loaded, display the program usage message. |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
167 |
- if (!src) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
168 |
+ // Write HTML summary... |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
169 |
+ for (d = (ppdcDriver *)src->drivers->first(); d; d = (ppdcDriver *)src->drivers->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
170 |
+ { |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
171 |
+ // Write the summary for this driver... |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
172 |
+ printf("<tr valign='top'><td nowrap>%s</td><td nowrap>", d->model_name->value); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
173 |
+ for (size = (ppdcMediaSize *)d->sizes->first(); size; |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
174 |
+ size = (ppdcMediaSize *)d->sizes->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
175 |
+ printf("%s<br>", size->text->value); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
176 |
+ printf("</td>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
177 |
+ |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
178 |
+ for (compo = (ppdcOption *)composite->options->first(); compo; |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
179 |
+ compo = (ppdcOption *)composite->options->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
180 |
+ if ((o = d->find_option(compo->name->value)) != NULL) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
181 |
+ { |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
182 |
+ printf("<td nowrap>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
183 |
+ for (c = (ppdcChoice *)o->choices->first(); c; |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
184 |
+ c = (ppdcChoice *)o->choices->next()) |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
185 |
+ printf("%s<br>", c->text->value); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
186 |
+ printf("</td>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
187 |
+ } |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
188 |
+ else |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
189 |
+ printf("<td>N/A</td>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
190 |
+ |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
191 |
+ puts("</tr>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
192 |
+ } |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
193 |
+ |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
194 |
+ puts("</tbody></table></p>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
195 |
+ puts("</body>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
196 |
+ puts("</html>"); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
197 |
+ |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
198 |
+ // Delete the printer driver information... |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
199 |
+ composite->release(); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
200 |
+ } |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
201 |
+ else |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
202 |
+ { |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
203 |
+ // If no drivers have been loaded, display the program usage message. |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
204 |
usage(); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
205 |
+ } |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
206 |
+ |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
207 |
+ src->release(); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
208 |
|
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
209 |
- // Return with no errors. |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
210 |
+// Return with no errors. |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
211 |
return (0); |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
212 |
} |
7b96ca49258f
18104362 Both /usr/bin/ppdpo and /usr/bin/ppdhtml dump core with fuzz input
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
213 |