Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ansilove for openSUSE:Factory 
checked in at 2026-11-04 19:44:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ansilove (Old)
 and      /work/SRC/openSUSE:Factory/.ansilove.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ansilove"

Wed Nov  4 19:44:35 2026 rev:16 rq:1394776 version:4.2.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/ansilove/ansilove.changes        2026-06-11 
17:29:08.262800502 +0200
+++ /work/SRC/openSUSE:Factory/.ansilove.new.3759290/ansilove.changes   
2026-11-04 19:44:54.754036701 +0100
@@ -1,0 +2,10 @@
+Mon Nov  2 15:41:17 UTC 2026 - Martin Hauke <[email protected]>
+
+- Update to version 4.2.3
+  * Document support for PabloDraw 24-bit ANSI sequences.
+  * Add an IceDraw test file and register it with CTest.
+  * Use a distinct output filename for the Retina test.
+  * Fix a memory leak in SAUCE handling.
+  * Fix SAUCE reading with respect to file size and EOF markers.
+
+-------------------------------------------------------------------

Old:
----
  ansilove-4.2.2.tar.gz

New:
----
  ansilove-4.2.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ansilove.spec ++++++
--- /var/tmp/diff_new_pack.PLnKus/_old  2026-11-04 19:44:55.592071780 +0100
+++ /var/tmp/diff_new_pack.PLnKus/_new  2026-11-04 19:44:55.597071989 +0100
@@ -18,7 +18,7 @@
 
 
 Name:           ansilove
-Version:        4.2.2
+Version:        4.2.3
 Release:        0
 Summary:        ANSI and ASCII art to PNG converter
 License:        BSD-2-Clause

++++++ ansilove-4.2.2.tar.gz -> ansilove-4.2.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansilove-4.2.2/CMakeLists.txt 
new/ansilove-4.2.3/CMakeLists.txt
--- old/ansilove-4.2.2/CMakeLists.txt   2026-06-10 20:34:10.000000000 +0200
+++ new/ansilove-4.2.3/CMakeLists.txt   2026-11-02 01:22:16.000000000 +0100
@@ -60,8 +60,9 @@
 add_test(ansi ansilove ${PROJECT_SOURCE_DIR}/tests/bs-alove.ans)
 add_test(artworx ansilove ${PROJECT_SOURCE_DIR}/tests/bs-alove.adf)
 add_test(bin ansilove -c 80 ${PROJECT_SOURCE_DIR}/tests/bs-alove.bin)
+add_test(icedraw ansilove ${PROJECT_SOURCE_DIR}/tests/bs-alove.idf)
 add_test(pcboard ansilove ${PROJECT_SOURCE_DIR}/tests/bs-alove.pcb)
 add_test(tundra ansilove ${PROJECT_SOURCE_DIR}/tests/bs-alove.tnd)
 add_test(xbin ansilove ${PROJECT_SOURCE_DIR}/tests/bs-alove.xb)
-add_test(retina ansilove -r ${PROJECT_SOURCE_DIR}/tests/bs-alove.ans)
+add_test(retina ansilove -r ${PROJECT_SOURCE_DIR}/tests/bs-alove.ans -o 
${PROJECT_SOURCE_DIR}/tests/bs-alove.ans-retina.png)
 add_test(sauce ansilove -s ${PROJECT_SOURCE_DIR}/tests/sauce.txt)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansilove-4.2.2/ChangeLog new/ansilove-4.2.3/ChangeLog
--- old/ansilove-4.2.2/ChangeLog        2026-06-10 20:34:10.000000000 +0200
+++ new/ansilove-4.2.3/ChangeLog        2026-11-02 01:22:16.000000000 +0100
@@ -1,8 +1,19 @@
+AnsiLove/C 4.2.3 (2026-11-02)
+
+- Document support for PabloDraw 24-bit ANSI sequences
+- Add an IceDraw test file and register it with CTest
+- Use a distinct output filename for the Retina test
+- Fix a memory leak in SAUCE handling
+- Fix SAUCE reading with respect to file size and EOF markers
+
+
+
 AnsiLove/C 4.2.2 (2026-06-10)
 
 - Update README to add a link to the Nix package
 - Fix "Amiga Topaz 1" font selection from SAUCE metadata
 - Fix font table entry count to make topaz500+ reachable
+  (Both issues were reported by Aaron Myles Landwehr, thanks!)
 
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansilove-4.2.2/FILE_ID.DIZ 
new/ansilove-4.2.3/FILE_ID.DIZ
--- old/ansilove-4.2.2/FILE_ID.DIZ      2026-06-10 20:34:10.000000000 +0200
+++ new/ansilove-4.2.3/FILE_ID.DIZ      2026-11-02 01:22:16.000000000 +0100
@@ -17,7 +17,7 @@
  - -----------//______|----------------- -
   :                                     :
   |                                     |
-  |           Ansilove/C 4.2.2          |
+  |           Ansilove/C 4.2.3          |
   |                                     |
   |    ANSi=>PNG converter & library    |
   |                                     |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansilove-4.2.2/README.md new/ansilove-4.2.3/README.md
--- old/ansilove-4.2.2/README.md        2026-06-10 20:34:10.000000000 +0200
+++ new/ansilove-4.2.3/README.md        2026-11-02 01:22:16.000000000 +0100
@@ -101,7 +101,8 @@
 
 The following formats are supported:
 
-- .ANS - ANSi (ANSI escape sequences: ANSI X3.64 standard)
+- .ANS - ANSi (ANSI escape sequences: ANSI X3.64 standard), including
+  PabloDraw 24-bit color sequences
 - .PCB - PCBoard Bulletin Board System (BBS) own file format
 - .BIN - Binary format (raw memory copy of text mode video memory)
 - .ADF - Artworx format, supporting custom character sets and palettes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansilove-4.2.2/ansilove.spec 
new/ansilove-4.2.3/ansilove.spec
--- old/ansilove-4.2.2/ansilove.spec    2026-06-10 20:34:10.000000000 +0200
+++ new/ansilove-4.2.3/ansilove.spec    2026-11-02 01:22:16.000000000 +0100
@@ -1,5 +1,5 @@
 Name:           ansilove
-Version:        4.2.2
+Version:        4.2.3
 Release:        1%{?dist}
 Summary:        ANSI and ASCII art to PNG converter
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansilove-4.2.2/src/ansilove.c 
new/ansilove-4.2.3/src/ansilove.c
--- old/ansilove-4.2.2/src/ansilove.c   2026-06-10 20:34:10.000000000 +0200
+++ new/ansilove-4.2.3/src/ansilove.c   2026-11-02 01:22:16.000000000 +0100
@@ -1,6 +1,6 @@
 /*
  * ansilove.c
- * Ansilove 4.2.2
+ * Ansilove 4.2.3
  * https://www.ansilove.org
  *
  * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus
@@ -341,8 +341,18 @@
                        errx(EXIT_FAILURE, "%s", ansilove_error(&ctx));
 
                /* adjust the file size if file contains a SAUCE record */
-               if (fileHasSAUCE)
-                       ctx.length -= 129 - (record->comments > 0 ? 5 + 64 * 
record->comments : 0);
+               if (fileHasSAUCE) {
+                       size_t sauce_size = 128 + (record->comments > 0 ?
+                           5 + 64 * record->comments : 0);
+
+                       if (sauce_size <= ctx.length) {
+                               ctx.length -= sauce_size;
+
+                               /* the EOF character is optional */
+                               if (ctx.length && ctx.buffer[ctx.length - 1] == 
0x1a)
+                                       ctx.length--;
+                       }
+               }
 
                int (*loader)(struct ansilove_ctx *, struct ansilove_options *) 
= NULL;
 
@@ -459,8 +469,7 @@
 
        ansilove_clean(&ctx);
 
-       free(record->comment_lines);
-       free(record);
+       sauceFree(record);
 
        return EXIT_SUCCESS;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansilove-4.2.2/src/config.h 
new/ansilove-4.2.3/src/config.h
--- old/ansilove-4.2.2/src/config.h     2026-06-10 20:34:10.000000000 +0200
+++ new/ansilove-4.2.3/src/config.h     2026-11-02 01:22:16.000000000 +0100
@@ -1,6 +1,6 @@
 /*
  * config.h
- * Ansilove 4.2.2
+ * Ansilove 4.2.3
  * https://www.ansilove.org
  *
  * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus
@@ -18,7 +18,7 @@
 #include <stdint.h>
 
 /* configuration defines */
-#define VERSION "4.2.2"
+#define VERSION "4.2.3"
 
 enum {
        FONTS = 39,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansilove-4.2.2/src/fonts.h 
new/ansilove-4.2.3/src/fonts.h
--- old/ansilove-4.2.2/src/fonts.h      2026-06-10 20:34:10.000000000 +0200
+++ new/ansilove-4.2.3/src/fonts.h      2026-11-02 01:22:16.000000000 +0100
@@ -1,6 +1,6 @@
 /*
  * fonts.h
- * Ansilove 4.2.2
+ * Ansilove 4.2.3
  * https://www.ansilove.org
  *
  * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansilove-4.2.2/src/sauce.c 
new/ansilove-4.2.3/src/sauce.c
--- old/ansilove-4.2.2/src/sauce.c      2026-06-10 20:34:10.000000000 +0200
+++ new/ansilove-4.2.3/src/sauce.c      2026-11-02 01:22:16.000000000 +0100
@@ -1,6 +1,6 @@
 /*
  * sauce.c
- * Ansilove 4.2.2
+ * Ansilove 4.2.3
  * https://www.ansilove.org
  *
  * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus
@@ -46,6 +46,23 @@
        return record;
 }
 
+/* Free a SAUCE record and its comment lines. */
+void
+sauceFree(struct sauce *record)
+{
+       if (record == NULL)
+               return;
+
+       if (record->comment_lines != NULL) {
+               for (int32_t i = 0; i < record->comments; i++)
+                       free(record->comment_lines[i]);
+
+               free(record->comment_lines);
+       }
+
+       free(record);
+}
+
 #define READ_RECORD(record, size) \
        read_status = fread(record, size, 1, file); \
        if (read_status != 1) \
@@ -93,12 +110,19 @@
        }
 
        if (record->comments > 0) {
-               record->comment_lines = malloc(record->comments *sizeof 
(*record->comment_lines));
+               record->comment_lines = calloc(record->comments, sizeof 
(*record->comment_lines));
 
                if (record->comment_lines != NULL) {
                        if (readComments(file, record->comment_lines, 
record->comments) == -1) {
+                               for (int32_t i = 0; i < record->comments; i++)
+                                       free(record->comment_lines[i]);
+
+                               free(record->comment_lines);
+                               record->comment_lines = NULL;
                                record->comments = 0;
                        }
+               } else {
+                       record->comments = 0;
                }
        }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansilove-4.2.2/src/sauce.h 
new/ansilove-4.2.3/src/sauce.h
--- old/ansilove-4.2.2/src/sauce.h      2026-06-10 20:34:10.000000000 +0200
+++ new/ansilove-4.2.3/src/sauce.h      2026-11-02 01:22:16.000000000 +0100
@@ -1,6 +1,6 @@
 /*
  * sauce.h
- * Ansilove 4.2.2
+ * Ansilove 4.2.3
  * https://www.ansilove.org
  *
  * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus
@@ -46,6 +46,7 @@
 
 struct sauce   *sauceReadFileName(char *);
 struct sauce   *sauceReadFile(FILE *);
+void            sauceFree(struct sauce *);
 void            readRecord(FILE *, struct sauce *);
 int             readComments(FILE *, char **, int32_t);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansilove-4.2.2/src/seccomp.h 
new/ansilove-4.2.3/src/seccomp.h
--- old/ansilove-4.2.2/src/seccomp.h    2026-06-10 20:34:10.000000000 +0200
+++ new/ansilove-4.2.3/src/seccomp.h    2026-11-02 01:22:16.000000000 +0100
@@ -1,6 +1,6 @@
 /*
  * seccomp.h
- * Ansilove 4.2.2
+ * Ansilove 4.2.3
  * https://www.ansilove.org
  *
  * Copyright (c) 2019-2026, Frederic Cambus
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansilove-4.2.2/src/strtolower.c 
new/ansilove-4.2.3/src/strtolower.c
--- old/ansilove-4.2.2/src/strtolower.c 2026-06-10 20:34:10.000000000 +0200
+++ new/ansilove-4.2.3/src/strtolower.c 2026-11-02 01:22:16.000000000 +0100
@@ -1,6 +1,6 @@
 /*
  * strtolower.c
- * Ansilove 4.2.2
+ * Ansilove 4.2.3
  * https://www.ansilove.org
  *
  * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansilove-4.2.2/src/strtolower.h 
new/ansilove-4.2.3/src/strtolower.h
--- old/ansilove-4.2.2/src/strtolower.h 2026-06-10 20:34:10.000000000 +0200
+++ new/ansilove-4.2.3/src/strtolower.h 2026-11-02 01:22:16.000000000 +0100
@@ -1,6 +1,6 @@
 /*
  * strtolower.h
- * Ansilove 4.2.2
+ * Ansilove 4.2.3
  * https://www.ansilove.org
  *
  * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansilove-4.2.2/src/types.c 
new/ansilove-4.2.3/src/types.c
--- old/ansilove-4.2.2/src/types.c      2026-06-10 20:34:10.000000000 +0200
+++ new/ansilove-4.2.3/src/types.c      2026-11-02 01:22:16.000000000 +0100
@@ -1,6 +1,6 @@
 /*
  * types.c
- * Ansilove 4.2.2
+ * Ansilove 4.2.3
  * https://www.ansilove.org
  *
  * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansilove-4.2.2/src/types.h 
new/ansilove-4.2.3/src/types.h
--- old/ansilove-4.2.2/src/types.h      2026-06-10 20:34:10.000000000 +0200
+++ new/ansilove-4.2.3/src/types.h      2026-11-02 01:22:16.000000000 +0100
@@ -1,6 +1,6 @@
 /*
  * types.h
- * Ansilove 4.2.2
+ * Ansilove 4.2.3
  * https://www.ansilove.org
  *
  * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus
Binary files old/ansilove-4.2.2/tests/bs-alove.idf and 
new/ansilove-4.2.3/tests/bs-alove.idf differ

Reply via email to