SHA256
1
0
forked from pool/transfig

8 Commits

Author SHA256 Message Date
099c3e0774 Accepting request 1277988 from Publishing
- Work around bug in obs service

- Add patches in order of our bug numbers (differs to upstream)
  * 192.patch -- Bug boo#1243260 (CVE-2025-46397)
    fig2dev stack-overflow
  * 187.patch -- Bug boo#1243261 (CVE-2025-46400)
    fig2dev segmentation fault in read_arcobject
  * 191.patch -- Bug boo#1243262 (CVE-2025-46398)
    fig2dev stack-overflow via read_objects
  * 190.patch -- Bug boo#1243263 (CVE-2025-46399)
    fig2dev segmentation fault in genge_itp_spline

    ____________________________________________________________

OBS-URL: https://build.opensuse.org/request/show/1277988
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/transfig?expand=0&rev=62
2025-05-23 12:28:04 +00:00
54376469a7 .
OBS-URL: https://build.opensuse.org/package/show/Publishing/transfig?expand=0&rev=101
2025-05-16 09:33:05 +00:00
2dd361dbc0 .
OBS-URL: https://build.opensuse.org/package/show/Publishing/transfig?expand=0&rev=100
2025-05-16 09:27:38 +00:00
3818378fd9 Fix bugs boo#1243260, boo#1243261, boo#1243262, and boo#1243263
OBS-URL: https://build.opensuse.org/package/show/Publishing/transfig?expand=0&rev=99
2025-05-16 08:39:00 +00:00
98b48d5307 Accepting request 1274933 from Publishing
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1274933
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/transfig?expand=0&rev=61
2025-05-07 17:15:03 +00:00
0b5d38003d boo#1240379 boo#1240380 boo#1240381
OBS-URL: https://build.opensuse.org/package/show/Publishing/transfig?expand=0&rev=97
2025-04-29 12:06:50 +00:00
32df0460a5 Accepting request 1237664 from Publishing
- Update to fig2dev version 3.2.9a (Dec 2024)
  o Specify pdf minor version with option -Y.
  o Specify width (-Z <wid>w) or height (-Z <height>h) of figure.
  o Correctly read from a pipe, ticket #156.
  o Fix behavior of option -F for e(e)pic and latex outputs, ticket #157.
  o Compounds containing ascii-only text would disable utf-8 output, #158.
  o Option --enable-versioning works in out-of-tree builds.
  o Correct links to embedded image files in svg output.
  o Correct font size in svg output, ticket #176.
- Port patches
  * 0001-Use-native-fig2dev-pdf-output-instead-of-epstopdf.patch
  * fig2dev-3.2.6-fig2mpdf.patch
  * transfig-3.2.9.dif
  * transfig-gs10.03.patch

OBS-URL: https://build.opensuse.org/request/show/1237664
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/transfig?expand=0&rev=60
2025-01-15 16:42:04 +00:00
c19039d08e Update fo transfig 3.2.9a
OBS-URL: https://build.opensuse.org/package/show/Publishing/transfig?expand=0&rev=95
2025-01-14 09:07:00 +00:00
15 changed files with 571 additions and 25 deletions

View File

@@ -12,7 +12,7 @@ diff --git a/fig2dev/dev/genpstex.c b/fig2dev/dev/genpstex.c
index bb081fd..5999e03 100644 index bb081fd..5999e03 100644
--- a/fig2dev/dev/genpstex.c --- a/fig2dev/dev/genpstex.c
+++ b/fig2dev/dev/genpstex.c +++ b/fig2dev/dev/genpstex.c
@@ -279,10 +279,7 @@ int depth; @@ -280,10 +280,7 @@ int depth;
sprintf(szFileName + iLength, "%03d", iObjectsFileNumber++); sprintf(szFileName + iLength, "%03d", iObjectsFileNumber++);
fprintf(ptCreateFile, "if [ \"$iOptRemove\" == \"\" ]; then\n"); fprintf(ptCreateFile, "if [ \"$iOptRemove\" == \"\" ]; then\n");
if (iPdfOutputs) if (iPdfOutputs)

58
184.patch Normal file
View File

@@ -0,0 +1,58 @@
From ff9aba206a30288f456dfc91584a52ba9927b438 Mon Sep 17 00:00:00 2001
From: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Tue, 21 Jan 2025 20:50:15 +0100
Subject: [PATCH] Allow an arc-box with zero radius, ticket #184
In the pict2e output, a rectangle with rounded corners,
dashed line type and zero corner-radius would cause a crash.
Convert rectangles with rounded corners and zero corner-radius to
regular rectangles.
---
fig2dev/read.c | 8 ++++++++
fig2dev/tests/read.at | 11 +++++++++++
2 files changed, 19 insertions(+)
diff --git fig2dev/read.c fig2dev/read.c
index 387527b..f643f7e 100644
--- fig2dev/read.c
+++ fig2dev/read.c
@@ -1037,6 +1037,14 @@ sanitize_lineobject(F_line *l, int line_no)
line_no);
return -1;
}
+ if (l->type == T_ARC_BOX && l->radius == 0) {
+ put_msg("A %s, but zero corner radius "
+ "at line %d - convert "
+ "to a rectangle.",
+ obj_name[l->type - 2],
+ line_no);
+ l->type = T_BOX;
+ }
}
} else { /* T_BOX || T_POLYGON */
diff --git fig2dev/tests/read.at fig2dev/tests/read.at
index 588424d..1b4baea 100644
--- fig2dev/tests/read.at
+++ fig2dev/tests/read.at
@@ -123,6 +123,17 @@ A rectangle with 3 corners at line 11 - convert to a polygon.
])
AT_CLEANUP
+AT_SETUP([convert an arc-box with zero radius to a box])
+AT_KEYWORDS(read.c arc-box)
+AT_CHECK([fig2dev -L pict2e <<EOF
+FIG_FILE_TOP
+2 4 1 1 0 0 50 -1 -1 4.0 0 0 0 0 0 5
+ 0 0 300 0 300 300 0 300 0 0
+EOF
+],0,ignore,[A rectangle with rounded corners, but zero corner radius at line 11 - convert to a rectangle.
+])
+AT_CLEANUP
+
AT_SETUP([fail on a malformed arc-box])
AT_KEYWORDS(read.c malformed arc-box)
AT_CHECK([fig2dev -L pict2e <<EOF
--
2.35.3

33
185.patch Normal file
View File

@@ -0,0 +1,33 @@
From da8992f44b84a337b4edaa67fc8b36b55eaef696 Mon Sep 17 00:00:00 2001
From: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Wed, 22 Jan 2025 23:18:54 +0100
Subject: [PATCH] Reject huge pattern lengths, ticket #185
Reject patterned lines, e.g., dashed lines, where the
pattern length exceeds 80 inches.
---
fig2dev/object.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git fig2dev/object.h fig2dev/object.h
index 29f5a62..7f83939 100644
--- fig2dev/object.h
+++ fig2dev/object.h
@@ -57,12 +57,13 @@ typedef struct f_comment {
struct f_comment *next;
} F_comment;
+#define STYLE_VAL_MAX 6400.0 /* dash length 80 inches, that is enough */
#define COMMON_PROPERTIES(o) \
o->style < SOLID_LINE || o->style > DASH_3_DOTS_LINE || \
o->thickness < 0 || o->depth < 0 || o->depth > 999 || \
o->fill_style < UNFILLED || \
o->fill_style >= NUMSHADES + NUMTINTS + NUMPATTERNS || \
- o->style_val < 0.0
+ o->style_val < 0.0 || o->style_val > STYLE_VAL_MAX
typedef struct f_ellipse {
int type;
--
2.35.3

91
186.patch Normal file
View File

@@ -0,0 +1,91 @@
From c8a87d22036e62bac0c6f7836078d8103caa6457 Mon Sep 17 00:00:00 2001
From: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Wed, 22 Jan 2025 23:27:43 +0100
Subject: [PATCH] Reject arcs with co-incident points, ticket #186
---
fig2dev/object.h | 16 ++++++++++------
fig2dev/tests/read.at | 14 ++++++++++++--
2 files changed, 22 insertions(+), 8 deletions(-)
--- fig2dev/object.h
+++ fig2dev/object.h 2025-04-29 11:58:54.335653487 +0000
@@ -3,7 +3,7 @@
* Copyright (c) 1991 by Micah Beck
* Parts Copyright (c) 1985-1988 by Supoj Sutanthavibul
* Parts Copyright (c) 1989-2015 by Brian V. Smith
- * Parts Copyright (c) 2015-2023 by Thomas Loimer
+ * Parts Copyright (c) 2015-2025 by Thomas Loimer
*
* Any party obtaining a copy of these files is granted, free of charge, a
* full and unrestricted irrevocable, world-wide, paid up, royalty-free,
@@ -92,10 +92,10 @@ typedef struct f_ellipse {
struct f_ellipse *next;
} F_ellipse;
-#define INVALID_ELLIPSE(e) \
+#define INVALID_ELLIPSE(e) \
e->type < T_ELLIPSE_BY_RAD || e->type > T_CIRCLE_BY_DIA || \
- COMMON_PROPERTIES(e) || (e->direction != 1 && e->direction != 0) || \
- e->radiuses.x == 0 || e->radiuses.y == 0 || \
+ COMMON_PROPERTIES(e) || (e->direction != 1 && e->direction != 0) || \
+ e->radiuses.x == 0 || e->radiuses.y == 0 || \
e->angle < -7. || e->angle > 7.
typedef struct f_arc {
@@ -122,12 +122,16 @@ typedef struct f_arc {
struct f_arc *next;
} F_arc;
-#define INVALID_ARC(a) \
+#define COINCIDENT(a, b) (a.x == b.x && a.y == b.y)
+#define INVALID_ARC(a) \
a->type < T_OPEN_ARC || a->type > T_PIE_WEDGE_ARC || \
COMMON_PROPERTIES(a) || a->cap_style < 0 || a->cap_style > 2 || \
a->center.x < COORD_MIN || a->center.x > COORD_MAX || \
a->center.y < COORD_MIN || a->center.y > COORD_MAX || \
- (a->direction != 0 && a->direction != 1)
+ (a->direction != 0 && a->direction != 1) || \
+ COINCIDENT(a->point[0], a->point[1]) || \
+ COINCIDENT(a->point[0], a->point[2]) || \
+ COINCIDENT(a->point[1], a->point[2])
typedef struct f_line {
int type;
--- fig2dev/tests/read.at
+++ fig2dev/tests/read.at 2025-04-29 11:58:54.335653487 +0000
@@ -2,7 +2,7 @@ dnl Fig2dev: Translate Fig code to vario
dnl Copyright (c) 1991 by Micah Beck
dnl Parts Copyright (c) 1985-1988 by Supoj Sutanthavibul
dnl Parts Copyright (c) 1989-2015 by Brian V. Smith
-dnl Parts Copyright (c) 2015-2024 by Thomas Loimer
+dnl Parts Copyright (c) 2015-2025 by Thomas Loimer
dnl
dnl Any party obtaining a copy of these files is granted, free of charge, a
dnl full and unrestricted irrevocable, world-wide, paid up, royalty-free,
@@ -14,7 +14,7 @@ dnl party to do so, with the only requir
dnl and this permission notice remain intact.
dnl read.at
-dnl Author: Thomas Loimer, 2017-2024
+dnl Author: Thomas Loimer, 2017-2025
AT_BANNER([Sanitize and harden input.])
@@ -246,6 +246,16 @@ FIG_FILE_TOP
EOF
], 1, ignore, [Invalid arc object at line 10.
])
+AT_CLEANUP
+
+AT_SETUP([reject arcs with coincident points, ticket #186])
+AT_KEYWORDS(read.c arc)
+AT_CHECK([fig2dev -L pict2e <<EOF
+FIG_FILE_TOP
+5 1 0 15 0 7 50 0 -1 0.0 1 0 0 0 0.0 0.0 1 1 1 1 2 0
+EOF
+], 1, ignore, [Invalid arc object at line 10.
+])
AT_CLEANUP
AT_SETUP([survive debian bugs #881143, #881144])

179
187.patch Normal file
View File

@@ -0,0 +1,179 @@
commit 1e5515a1ea2ec8651cf85ab5000d026bb962492a
Author: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Thu Jan 23 21:08:43 2025 +0100
pict2e: deal with arcs with an radius of 1, #187
The pict2e driver resolves patterned arcs to a series of line segments.
The line is constructed from a spline approximating a circle.
For an arc radius of about 1, no line remains. Ignore such small arcs.
diff --git fig2dev/dev/genpict2e.c fig2dev/dev/genpict2e.c
index 423032c..b55bf38 100644
--- fig2dev/dev/genpict2e.c
+++ fig2dev/dev/genpict2e.c
@@ -3,7 +3,7 @@
* Copyright (c) 1991 by Micah Beck
* Parts Copyright (c) 1985-1988 by Supoj Sutanthavibul
* Parts Copyright (c) 1989-2015 by Brian V. Smith
- * Parts Copyright (c) 2015-2023 by Thomas Loimer
+ * Parts Copyright (c) 2015-2025 by Thomas Loimer
*
* Any party obtaining a copy of these files is granted, free of charge, a
* full and unrestricted irrevocable, world-wide, paid up, royalty-free,
@@ -19,7 +19,7 @@
/*
* genpict2e.c: convert fig to pict2e macro language for LaTeX
*
- * Author: Thomas Loimer, 2014-2023
+ * Author: Thomas Loimer, 2014-2025
* Based on the latex picture driver, genlatex.c
*
*/
@@ -2277,8 +2277,13 @@ put_patternarc(
l->join_style = MITERJOIN;
p = l->points;
- if (p == NULL)
+ for (i = 0; i < 8 && p != NULL; ++i)
+ p = p->next;
+ /* If the radius is about 1, the spline may consist of
+ a few points only. */
+ if (i < 7)
return;
+ p = l->points;
/*
* Walk along the spline, until the arc angle is covered.
@@ -2428,7 +2433,7 @@ genpict2e_arc(F_arc *a)
rad = 0.5*(sqrt((double)d1x*d1x + (double)d1y*d1y)
+ sqrt((double)d2x*d2x + (double)d2y*d2y));
rad = round(rad*10.0) / 10.0;
- /* how precise must the angle be given?
+ /* how precise must the angle be given?
1/rad is the view angle of one pixel */
da = 180.0 / M_PI / rad;
preca = 0;
commit c4465e0d9af89d9738aad31c2d0873ac1fa03c96
Author: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Sat Jan 25 21:06:59 2025 +0100
Reject arcs with an radius smaller than 3, #187
This also reverts the previous commit, 1e5515. An arc with too
small radius caused a crash in pict2e output. Instead of dealing
with such arcs in the pict2e driver, reject them already when
reading.
diff --git fig2dev/dev/genpict2e.c fig2dev/dev/genpict2e.c
index b55bf38..423032c 100644
--- fig2dev/dev/genpict2e.c
+++ fig2dev/dev/genpict2e.c
@@ -3,7 +3,7 @@
* Copyright (c) 1991 by Micah Beck
* Parts Copyright (c) 1985-1988 by Supoj Sutanthavibul
* Parts Copyright (c) 1989-2015 by Brian V. Smith
- * Parts Copyright (c) 2015-2025 by Thomas Loimer
+ * Parts Copyright (c) 2015-2023 by Thomas Loimer
*
* Any party obtaining a copy of these files is granted, free of charge, a
* full and unrestricted irrevocable, world-wide, paid up, royalty-free,
@@ -19,7 +19,7 @@
/*
* genpict2e.c: convert fig to pict2e macro language for LaTeX
*
- * Author: Thomas Loimer, 2014-2025
+ * Author: Thomas Loimer, 2014-2023
* Based on the latex picture driver, genlatex.c
*
*/
@@ -2277,13 +2277,8 @@ put_patternarc(
l->join_style = MITERJOIN;
p = l->points;
- for (i = 0; i < 8 && p != NULL; ++i)
- p = p->next;
- /* If the radius is about 1, the spline may consist of
- a few points only. */
- if (i < 7)
+ if (p == NULL)
return;
- p = l->points;
/*
* Walk along the spline, until the arc angle is covered.
@@ -2433,7 +2428,7 @@ genpict2e_arc(F_arc *a)
rad = 0.5*(sqrt((double)d1x*d1x + (double)d1y*d1y)
+ sqrt((double)d2x*d2x + (double)d2y*d2y));
rad = round(rad*10.0) / 10.0;
- /* how precise must the angle be given?
+ /* how precise must the angle be given?
1/rad is the view angle of one pixel */
da = 180.0 / M_PI / rad;
preca = 0;
diff --git fig2dev/object.h fig2dev/object.h
index 50afbf0..178d629 100644
--- fig2dev/object.h
+++ fig2dev/object.h
@@ -92,11 +92,14 @@ typedef struct f_ellipse {
struct f_ellipse *next;
} F_ellipse;
+#define RADIUS2_MIN 9
#define INVALID_ELLIPSE(e) \
e->type < T_ELLIPSE_BY_RAD || e->type > T_CIRCLE_BY_DIA || \
COMMON_PROPERTIES(e) || (e->direction != 1 && e->direction != 0) || \
e->radiuses.x == 0 || e->radiuses.y == 0 || \
+ e->radiuses.x + e->radiuses.y < RADIUS2_MIN || \
e->angle < -7. || e->angle > 7.
+ /* radiuses are set to positive in read.c */
typedef struct f_arc {
int type;
@@ -131,7 +134,10 @@ typedef struct f_arc {
(a->direction != 0 && a->direction != 1) || \
COINCIDENT(a->point[0], a->point[1]) || \
COINCIDENT(a->point[0], a->point[2]) || \
- COINCIDENT(a->point[1], a->point[2])
+ COINCIDENT(a->point[1], a->point[2]) || \
+ (a->point[0].x - a->center.x) * (a->point[0].x - a->center.x) + \
+ (a->point[0].y - a->center.y) * (a->point[0].y - a->center.y) < \
+ RADIUS2_MIN
typedef struct f_line {
int type;
diff --git fig2dev/read1_3.c fig2dev/read1_3.c
index 8a1a89a..1605498 100644
--- fig2dev/read1_3.c
+++ fig2dev/read1_3.c
@@ -3,7 +3,7 @@
* Copyright (c) 1991 by Micah Beck
* Parts Copyright (c) 1985-1988 by Supoj Sutanthavibul
* Parts Copyright (c) 1989-2015 by Brian V. Smith
- * Parts Copyright (c) 2015-2022 by Thomas Loimer
+ * Parts Copyright (c) 2015-2025 by Thomas Loimer
*
* Any party obtaining a copy of these files is granted, free of charge, a
* full and unrestricted irrevocable, world-wide, paid up, royalty-free,
@@ -156,8 +156,10 @@ read_arcobject(FILE *fp)
a->pen_color = a->fill_color = BLACK_COLOR;
a->depth = 0;
a->pen = 0;
+ a->fill_style = 0;
a->for_arrow = NULL;
a->back_arrow = NULL;
+ a->cap_style = 0;
a->comments = NULL;
a->next = NULL;
n = fscanf(fp,
@@ -328,6 +330,10 @@ read_ellipseobject(FILE *fp)
e->type = T_CIRCLE_BY_RAD;
else
e->type = T_CIRCLE_BY_DIA;
+ if (e->radiuses.x < 0)
+ e->radiuses.x *= -1;
+ if (e->radiuses.y < 0)
+ e->radiuses.y *= -1;
if (INVALID_ELLIPSE(e)) {
put_msg(Err_invalid, "ellipse");
free(e);

29
190.patch Normal file
View File

@@ -0,0 +1,29 @@
commit 2bd6c0b210916d0d3ca81f304535b5af0849aa93
Author: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Tue Apr 8 22:45:57 2025 +0200
ge output: correct spline computation, ticket #190
---
fig2dev/dev/genge.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
--- fig2dev/dev/genge.c
+++ fig2dev/dev/genge.c 2025-05-16 08:15:58.678040763 +0000
@@ -229,8 +229,6 @@ genge_itp_spline(F_spline *s)
int xmin, ymin;
a = s->controls;
-
- a = s->controls;
p = s->points;
/* go through the points to find the last two */
for (q = p->next; q != NULL; p = q, q = q->next) {
@@ -238,6 +236,7 @@ genge_itp_spline(F_spline *s)
a = b;
}
+ a = s->controls;
p = s->points;
fprintf(tfp, "n %d %d m\n", p->x, p->y);
xmin = 999999;

29
191.patch Normal file
View File

@@ -0,0 +1,29 @@
commit 5f22009dba73922e98d49c0096cece8b215cd45b
Author: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Tue Apr 8 21:34:23 2025 +0200
Permit \0 in the second line in the fig file, #191
diff --git fig2dev/read.c fig2dev/read.c
index 0ec958d..2ea18ef 100644
--- fig2dev/read.c
+++ fig2dev/read.c
@@ -190,7 +190,8 @@ read_objects(FILE *fp, F_compound *obj)
}
/* check for embedded '\0' */
- if (strlen(buf) < sizeof buf - 1 && buf[strlen(buf) - 1] != '\n') {
+ if (*buf == '\0' || (strlen(buf) < sizeof buf - 1 &&
+ buf[strlen(buf) - 1] != '\n')) {
put_msg("ASCII NUL ('\\0') character within the first line.");
exit(EXIT_FAILURE);
/* seek to the end of the first line
@@ -239,7 +240,7 @@ read_objects(FILE *fp, F_compound *obj)
the encoding given in the file */
if (!input_encoding && !strcmp(buf, "encoding: UTF-8\n")) {
input_encoding = "UTF-8";
- } else if (buf[strlen(buf) - 1] != '\n') {
+ } else if (*buf == '\0' || buf[strlen(buf) - 1] != '\n') {
/* seek forward to the end of the line;
comments here are not mentioned by the
specification, thus ignore this comment */

65
192.patch Normal file
View File

@@ -0,0 +1,65 @@
commit dfa8b661b506a463a669754ed635b0a8eb67580e
Author: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Thu Apr 10 09:03:30 2025 +0200
Detect nan in spline control values, ticket #192
---
fig2dev/read.c | 17 +++++++++++------
fig2dev/tests/read.at | 19 +++++++++++++++++++
2 files changed, 30 insertions(+), 6 deletions(-)
--- fig2dev/read.c
+++ fig2dev/read.c 2025-05-16 08:04:13.646999235 +0000
@@ -1581,12 +1581,17 @@ read_splineobject(FILE *fp, char **restr
free_splinestorage(s);
return NULL;
}
- if (lx < INT_MIN || lx > INT_MAX || ly < INT_MIN ||
- ly > INT_MAX || rx < INT_MIN || rx > INT_MAX ||
- ry < INT_MIN || ry > INT_MAX) {
- /* do not care to clean up, we exit anyway
- cp->next = NULL;
- free_splinestorage(s); */
+ if ( !isfinite(lx) || lx < INT_MIN || lx > INT_MAX ||
+ !isfinite(ly) || ly < INT_MIN || ly > INT_MAX ||
+ !isfinite(rx) || rx < INT_MIN || rx > INT_MAX ||
+ !isfinite(ry) || ry < INT_MIN || ry > INT_MAX)
+ {
+
+ /* clean up, to pass test "reject huge spline controls
+ values" when -fsanitize=address is enabled */
+ cp->next = NULL;
+ free_splinestorage(s);
+ free(cq);
put_msg("Spline control points out of range "
"at line %d.", *line_no);
exit(EXIT_FAILURE);
--- fig2dev/tests/read.at
+++ fig2dev/tests/read.at 2025-05-16 08:07:33.111333617 +0000
@@ -608,6 +608,25 @@ EOF
])
AT_CLEANUP
+AT_SETUP([reject nan in spline controls values, #192])
+AT_KEYWORDS([read.c])
+# Use an output language that does not natively support Bezier splines.
+# Otherwise, the huge values are simply copied to the output.
+AT_CHECK([fig2dev -L epic <<EOF
+#FIG 3.1
+Landscape
+Center
+Metric
+1200 2
+3 2 0 1 0 7 50 -1 -1 0.0 0 0 0 2
+ 0 0 1200 0
+ 600 600 600 nan
+ 600 600 600 600
+EOF
+], 1, ignore, [Spline control points out of range at line 8.
+])
+AT_CLEANUP
+
AT_BANNER([Dynamically allocate picture file name.])
AT_SETUP([prepend fig file path to picture file name])

View File

@@ -400,7 +400,7 @@ diff --git a/fig2dev/drivers.h b/fig2dev/drivers.h
diff --git a/fig2dev/fig2dev.c b/fig2dev/fig2dev.c diff --git a/fig2dev/fig2dev.c b/fig2dev/fig2dev.c
--- a/fig2dev/fig2dev.c --- a/fig2dev/fig2dev.c
+++ b/fig2dev/fig2dev.c +++ b/fig2dev/fig2dev.c
@@ -829,6 +829,23 @@ help_msg(void) @@ -858,6 +858,23 @@ help_msg(void)
); );
} }
@@ -424,7 +424,7 @@ diff --git a/fig2dev/fig2dev.c b/fig2dev/fig2dev.c
if (dev == NULL || !strcmp(lang, "shape")) { if (dev == NULL || !strcmp(lang, "shape")) {
puts( puts(
"SHAPE (ShapePar driver) Options:\n" "SHAPE (ShapePar driver) Options:\n"
@@ -974,6 +991,12 @@ static int compound_dump(F_compound *com @@ -1003,6 +1020,12 @@ static int compound_dump(F_compound *com
static int static int
rec_comp(struct obj_rec *r1, struct obj_rec *r2) rec_comp(struct obj_rec *r1, struct obj_rec *r2)
{ {
@@ -1338,7 +1338,7 @@ diff --git a/fig2mpdf/fig2mpdf b/fig2mpdf/fig2mpdf
diff --git a/man/fig2dev.1.in b/man/fig2dev.1.in diff --git a/man/fig2dev.1.in b/man/fig2dev.1.in
--- a/man/fig2dev.1.in --- a/man/fig2dev.1.in
+++ b/man/fig2dev.1.in +++ b/man/fig2dev.1.in
@@ -75,8 +75,8 @@ Set the output graphics language. @@ -80,8 +80,8 @@ Set the output graphics language.
Valid languages are Valid languages are
\fBbox, cgm, dxf, epic, eepic, eepicemu, emf, eps, gbx (Gerber beta \fBbox, cgm, dxf, epic, eepic, eepicemu, emf, eps, gbx (Gerber beta
driver), gif, ibmgl, jpeg, latex, map (HTML image map), mf (MetaFont), driver), gif, ibmgl, jpeg, latex, map (HTML image map), mf (MetaFont),
@@ -1349,7 +1349,7 @@ diff --git a/man/fig2dev.1.in b/man/fig2dev.1.in
shape (LaTeX shaped paragraphs), sld (AutoCad slide format), svg, shape (LaTeX shaped paragraphs), sld (AutoCad slide format), svg,
textyl, tiff, tikz, tk (tcl/tk), tpic, xbm and xpm\fR. textyl, tiff, tikz, tk (tcl/tk), tpic, xbm and xpm\fR.
@@ -1145,6 +1145,61 @@ text flagged as "TeX Text". @@ -1152,6 +1152,61 @@ text flagged as "TeX Text".
The pstex and pdftex drivers accept the same options that the EPS driver The pstex and pdftex drivers accept the same options that the EPS driver
accepts. accepts.
@@ -1411,7 +1411,7 @@ diff --git a/man/fig2dev.1.in b/man/fig2dev.1.in
.TP .TP
.B \-n name .B \-n name
Set the Title part of the PostScript output to Set the Title part of the PostScript output to
@@ -1551,6 +1606,12 @@ The string \fIfont\fR can be one of @@ -1558,6 +1613,12 @@ The string \fIfont\fR can be one of
.SH BUGS and RESTRICTIONS .SH BUGS and RESTRICTIONS
@@ -1424,7 +1424,7 @@ diff --git a/man/fig2dev.1.in b/man/fig2dev.1.in
Please send bug reports, fixes, new features etc. to: Please send bug reports, fixes, new features etc. to:
.br .br
\&@PACKAGE_BUGREPORT@ \&@PACKAGE_BUGREPORT@
@@ -1640,3 +1701,7 @@ Michael Schrick (m_schrick@hotmail.com) @@ -1647,3 +1708,7 @@ Michael Schrick (m_schrick@hotmail.com)
The GBX (Gerber) driver was written by The GBX (Gerber) driver was written by
.br .br
Edward Grace (ej.grace@imperial.ac.uk). Edward Grace (ej.grace@imperial.ac.uk).

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:15e246c8d13cc72de25e08314038ad50ce7d2defa9cf1afc172fd7f5932090b1
size 529892

BIN
fig2dev-3.2.9a.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -7,7 +7,7 @@
--- configure --- configure
+++ configure 2023-09-15 07:11:23.442594968 +0000 +++ configure 2023-09-15 07:11:23.442594968 +0000
@@ -2340,7 +2340,7 @@ ac_c_conftest_c99_main=' @@ -2359,7 +2359,7 @@ ac_c_conftest_c99_main='
int dynamic_array[ni.number]; int dynamic_array[ni.number];
dynamic_array[0] = argv[0][0]; dynamic_array[0] = argv[0][0];
dynamic_array[ni.number - 1] = 543; dynamic_array[ni.number - 1] = 543;
@@ -26,7 +26,7 @@
#include "fig2dev.h" /* includes bool.h and object.h */ #include "fig2dev.h" /* includes bool.h and object.h */
//#include "object.h" /* NUMSHADES, NUMTINTS */ //#include "object.h" /* NUMSHADES, NUMTINTS */
@@ -1363,10 +1364,10 @@ append(const char *restrict infilename, @@ -1366,10 +1367,10 @@ append(const char *restrict infilename,
static bool static bool
append_find_composite(FILE *restrict out) append_find_composite(FILE *restrict out)
{ {
@@ -40,7 +40,7 @@
libdir = getenv("FIG2DEV_LIBDIR"); libdir = getenv("FIG2DEV_LIBDIR");
#ifdef I18N_DATADIR #ifdef I18N_DATADIR
@@ -1378,18 +1379,28 @@ append_find_composite(FILE *restrict out @@ -1381,18 +1382,28 @@ append_find_composite(FILE *restrict out
fputs(COMPOSITE_ERRMSG, stderr); fputs(COMPOSITE_ERRMSG, stderr);
return false; return false;
} }
@@ -76,7 +76,7 @@
return false; return false;
} }
@@ -1443,8 +1454,7 @@ append_find_composite(FILE *restrict out @@ -1446,8 +1457,7 @@ append_find_composite(FILE *restrict out
put_msg("The output might be broken."); put_msg("The output might be broken.");
} }

View File

@@ -4,11 +4,11 @@
--- fig2dev/dev/genpdf.c --- fig2dev/dev/genpdf.c
+++ fig2dev/dev/genpdf.c 2024-09-12 11:42:17.585579884 +0000 +++ fig2dev/dev/genpdf.c 2024-09-12 11:42:17.585579884 +0000
@@ -48,6 +48,7 @@ @@ -49,6 +49,7 @@
*/ */
#ifdef GSEXE #ifdef GSEXE
#define GSFMT GSEXE " -q -dSAFER -dAutoRotatePages=/None -sDEVICE=pdfwrite " \ #define GSFMT GSEXE " -q -dSAFER -dAutoRotatePages=/None -sDEVICE=pdfwrite " \
+ "-dWriteXRefStm=false -dWriteObjStms=false " \ + "-dWriteXRefStm=false -dWriteObjStms=false " \
"-dCompatibilityLevel=1.4 -dPDFSETTINGS=/prepress -o '%s' -" "-dCompatibilityLevel=1.%d -dPDFSETTINGS=/prepress -o '%s' -"
#else #else
#define GSFMT "" #define GSFMT ""

View File

@@ -1,3 +1,53 @@
-------------------------------------------------------------------
Fri May 16 09:32:21 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Work around bug in obs service
-------------------------------------------------------------------
Fri May 16 08:18:32 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add patches in order of our bug numbers (differs to upstream)
* 192.patch -- Bug boo#1243260 (CVE-2025-46397)
fig2dev stack-overflow
* 187.patch -- Bug boo#1243261 (CVE-2025-46400)
fig2dev segmentation fault in read_arcobject
* 191.patch -- Bug boo#1243262 (CVE-2025-46398)
fig2dev stack-overflow via read_objects
* 190.patch -- Bug boo#1243263 (CVE-2025-46399)
fig2dev segmentation fault in genge_itp_spline
-------------------------------------------------------------------
Tue Apr 29 12:01:57 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add patches
* 184.patch -- Bug boo#1240379 (CVE-2025-31164)
heap-buffer overflow in fig2dev in version 3.2.9a allows an attacker
to availability via local input manipulation via  create_line_with_spline
* 185.patch -- Bug boo#1240380 (CVE-2025-31162)
Floating point exception in fig2dev in version 3.2.9a allows an attacker
to availability via local input manipulation via get_slope function
* 186.patch -- Bug boo#1240381 (CVE-2025-31163)
Segmentation fault in fig2dev in version 3.2.9a allows an attacker to
availability via local input manipulation via put_patternarc function
-------------------------------------------------------------------
Tue Jan 14 08:47:58 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Update to fig2dev version 3.2.9a (Dec 2024)
o Specify pdf minor version with option -Y.
o Specify width (-Z <wid>w) or height (-Z <height>h) of figure.
o Correctly read from a pipe, ticket #156.
o Fix behavior of option -F for e(e)pic and latex outputs, ticket #157.
o Compounds containing ascii-only text would disable utf-8 output, #158.
o Option --enable-versioning works in out-of-tree builds.
o Correct links to embedded image files in svg output.
o Correct font size in svg output, ticket #176.
- Port patches
* 0001-Use-native-fig2dev-pdf-output-instead-of-epstopdf.patch
* fig2dev-3.2.6-fig2mpdf.patch
* transfig-3.2.9.dif
* transfig-gs10.03.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Sep 12 12:00:53 UTC 2024 - Dr. Werner Fink <werner@suse.de> Thu Sep 12 12:00:53 UTC 2024 - Dr. Werner Fink <werner@suse.de>
@@ -312,7 +362,7 @@ Mon May 7 10:28:07 UTC 2018 - werner@suse.de
- Update to fig2dev version 3.2.7a (Patchlevel 7a (April 2018)) - Update to fig2dev version 3.2.7a (Patchlevel 7a (April 2018))
o Language previous option current option o Language previous option current option
------------------------------------------------------------ ____________________________________________________________
cgm -b dummy -a cgm -b dummy -a
epic -A scale -d scale epic -A scale -d scale
eepic -A scale -d scale eepic -A scale -d scale
@@ -886,12 +936,10 @@ Wed Oct 18 15:58:04 CEST 2000 - werner@suse.de
- Avoid epsfig style, use normal graphics style (bug# 4168) - Avoid epsfig style, use normal graphics style (bug# 4168)
-------------------------------------------------------------------
Fri Sep 15 17:01:53 CEST 2000 - werner Fri Sep 15 17:01:53 CEST 2000 - werner
- Update to 3.2.3c to fit xfig version - Update to 3.2.3c to fit xfig version
-------------------------------------------------------------------
Wed May 31 16:26:42 CEST 2000 - werner Wed May 31 16:26:42 CEST 2000 - werner
- Use %{_defaultdocdir} - Use %{_defaultdocdir}
@@ -928,17 +976,17 @@ Thu Sep 17 18:15:53 MEST 1998 - ro@suse.de
- dont redeclare sys_errlist for glibc - dont redeclare sys_errlist for glibc
---------------------------------------------------------------------------- -------------------------------------------------------------------
Fri Oct 10 15:32:09 MEST 1997 - florian@suse.de Fri Oct 10 15:32:09 MEST 1997 - florian@suse.de
- update to version 3.2 - update to version 3.2
---------------------------------------------------------------------------- -------------------------------------------------------------------
Wed Oct 8 16:06:02 CEST 1997 - ro@suse.de Wed Oct 8 16:06:02 CEST 1997 - ro@suse.de
- Prepared package for automatic build - Prepared package for automatic build
---------------------------------------------------------------------------- -------------------------------------------------------------------
Tue May 27 20:03:59 MEST 1997 - florian@suse.de Tue May 27 20:03:59 MEST 1997 - florian@suse.de

View File

@@ -1,7 +1,7 @@
# #
# spec file for package transfig # spec file for package transfig
# #
# Copyright (c) 2024 SUSE LLC # Copyright (c) 2025 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@@ -17,18 +17,25 @@
Name: transfig Name: transfig
Version: 3.2.9 Version: 3.2.9a
Release: 0 Release: 0
Summary: Graphic Converter Summary: Graphic Converter
# www.xfig.org is dead # www.xfig.org is dead
URL: https://mcj.sourceforge.net/ URL: https://mcj.sourceforge.net/
License: MIT License: MIT
Group: Productivity/Graphics/Convertors Group: Productivity/Graphics/Convertors
#Source: http://sourceforge.net/projects/mcj/files/fig2dev-%%{version}.tar.xz/download#/fig2dev-%%{version}.tar.xz #Source: https://sourceforge.net/projects/mcj/files/fig2dev-%%{version}.tar.xz/download#/fig2dev-%%{version}.tar.xz
Source: fig2dev-%{version}.tar.xz Source: fig2dev-%{version}.tar.xz
Patch0: transfig-3.2.9.dif Patch0: transfig-3.2.9.dif
Patch1: transfig-gs10.03.patch Patch1: transfig-gs10.03.patch
Patch4: transfig-fix-afl.patch Patch4: transfig-fix-afl.patch
Patch20: 184.patch
Patch21: 185.patch
Patch22: 186.patch
Patch23: 192.patch
Patch24: 187.patch
Patch25: 191.patch
Patch26: 190.patch
Patch43: fig2dev-3.2.6-fig2mpdf.patch Patch43: fig2dev-3.2.6-fig2mpdf.patch
Patch44: fig2dev-3.2.6-fig2mpdf-doc.patch Patch44: fig2dev-3.2.6-fig2mpdf-doc.patch
Patch45: transfig-gcc14.patch Patch45: transfig-gcc14.patch
@@ -72,6 +79,13 @@ find -type f -exec chmod a-x,go-w '{}' \;
%patch -P 0 -p0 -b .p0 %patch -P 0 -p0 -b .p0
%patch -P 1 -p0 -b .p1 %patch -P 1 -p0 -b .p1
%patch -P 4 -p1 -b .afl %patch -P 4 -p1 -b .afl
%patch -P 20 -p0
%patch -P 21 -p0
%patch -P 22 -p0
%patch -P 23 -p0
%patch -P 24 -p0
%patch -P 25 -p0
%patch -P 26 -p0
%patch -P 43 -p1 -b .mpdf %patch -P 43 -p1 -b .mpdf
%patch -P 44 -p1 -b .mpdfdoc %patch -P 44 -p1 -b .mpdfdoc
%patch -P 45 -p0 -b .gcc14 %patch -P 45 -p0 -b .gcc14