Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libfmapi for openSUSE:Factory 
checked in at 2023-04-08 17:39:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libfmapi (Old)
 and      /work/SRC/openSUSE:Factory/.libfmapi.new.19717 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libfmapi"

Sat Apr  8 17:39:23 2023 rev:9 rq:1077985 version:20230408

Changes:
--------
--- /work/SRC/openSUSE:Factory/libfmapi/libfmapi.changes        2023-04-05 
21:36:00.962692083 +0200
+++ /work/SRC/openSUSE:Factory/.libfmapi.new.19717/libfmapi.changes     
2023-04-08 17:39:40.318255428 +0200
@@ -1,0 +2,6 @@
+Sat Apr  8 07:51:55 UTC 2023 - Jan Engelhardt <jeng...@inai.de>
+
+- Update to release 20230408
+  * More resilience after some fuzzing was done
+
+-------------------------------------------------------------------

Old:
----
  libfmapi-experimental-20230405.tar.gz
  libfmapi-experimental-20230405.tar.gz.asc

New:
----
  libfmapi-experimental-20230408.tar.gz
  libfmapi-experimental-20230408.tar.gz.asc

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

Other differences:
------------------
++++++ libfmapi.spec ++++++
--- /var/tmp/diff_new_pack.Pavh9f/_old  2023-04-08 17:39:40.798258183 +0200
+++ /var/tmp/diff_new_pack.Pavh9f/_new  2023-04-08 17:39:40.802258207 +0200
@@ -18,7 +18,7 @@
 
 Name:           libfmapi
 %define lname  libfmapi1
-Version:        20230405
+Version:        20230408
 Release:        0
 Summary:        Library for MAPI data types
 License:        LGPL-3.0-or-later

++++++ libfmapi-experimental-20230405.tar.gz -> 
libfmapi-experimental-20230408.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfmapi-20230405/common/config.h 
new/libfmapi-20230408/common/config.h
--- old/libfmapi-20230405/common/config.h       2023-04-05 06:26:02.000000000 
+0200
+++ new/libfmapi-20230408/common/config.h       2023-04-08 08:58:05.000000000 
+0200
@@ -365,7 +365,7 @@
 #define PACKAGE_NAME "libfmapi"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "libfmapi 20230405"
+#define PACKAGE_STRING "libfmapi 20230408"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "libfmapi"
@@ -374,7 +374,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "20230405"
+#define PACKAGE_VERSION "20230408"
 
 /* The size of `int', as computed by sizeof. */
 #define SIZEOF_INT 4
@@ -400,7 +400,7 @@
 /* #undef STRERROR_R_CHAR_P */
 
 /* Version number of package */
-#define VERSION "20230405"
+#define VERSION "20230408"
 
 /* Number of bits in a file offset, on hosts where this is settable. */
 /* #undef _FILE_OFFSET_BITS */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfmapi-20230405/configure 
new/libfmapi-20230408/configure
--- old/libfmapi-20230405/configure     2023-04-05 06:33:45.000000000 +0200
+++ new/libfmapi-20230408/configure     2023-04-08 08:57:54.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for libfmapi 20230405.
+# Generated by GNU Autoconf 2.71 for libfmapi 20230408.
 #
 # Report bugs to <joachim.m...@gmail.com>.
 #
@@ -621,8 +621,8 @@
 # Identity of this package.
 PACKAGE_NAME='libfmapi'
 PACKAGE_TARNAME='libfmapi'
-PACKAGE_VERSION='20230405'
-PACKAGE_STRING='libfmapi 20230405'
+PACKAGE_VERSION='20230408'
+PACKAGE_STRING='libfmapi 20230408'
 PACKAGE_BUGREPORT='joachim.m...@gmail.com'
 PACKAGE_URL=''
 
@@ -1538,7 +1538,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libfmapi 20230405 to adapt to many kinds of systems.
+\`configure' configures libfmapi 20230408 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1609,7 +1609,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libfmapi 20230405:";;
+     short | recursive ) echo "Configuration of libfmapi 20230408:";;
    esac
   cat <<\_ACEOF
 
@@ -1803,7 +1803,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libfmapi configure 20230405
+libfmapi configure 20230408
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2524,7 +2524,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libfmapi $as_me 20230405, which was
+It was created by libfmapi $as_me 20230408, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -4013,7 +4013,7 @@
 
 # Define the identity of the package.
  PACKAGE='libfmapi'
- VERSION='20230405'
+ VERSION='20230408'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -43358,7 +43358,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libfmapi $as_me 20230405, which was
+This file was extended by libfmapi $as_me 20230408, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -43426,7 +43426,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-libfmapi config.status 20230405
+libfmapi config.status 20230408
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfmapi-20230405/configure.ac 
new/libfmapi-20230408/configure.ac
--- old/libfmapi-20230405/configure.ac  2023-04-05 06:03:46.000000000 +0200
+++ new/libfmapi-20230408/configure.ac  2023-04-08 06:45:56.000000000 +0200
@@ -2,7 +2,7 @@
 
 AC_INIT(
  [libfmapi],
- [20230405],
+ [20230408],
  [joachim.m...@gmail.com])
 
 AC_CONFIG_SRCDIR(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfmapi-20230405/dpkg/changelog 
new/libfmapi-20230408/dpkg/changelog
--- old/libfmapi-20230405/dpkg/changelog        2023-04-05 06:33:57.000000000 
+0200
+++ new/libfmapi-20230408/dpkg/changelog        2023-04-08 08:58:05.000000000 
+0200
@@ -1,5 +1,5 @@
-libfmapi (20230405-1) unstable; urgency=low
+libfmapi (20230408-1) unstable; urgency=low
 
   * Auto-generated
 
- -- Joachim Metz <joachim.m...@gmail.com>  Wed, 05 Apr 2023 06:33:55 +0200
+ -- Joachim Metz <joachim.m...@gmail.com>  Sat, 08 Apr 2023 08:58:04 +0200
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfmapi-20230405/include/libfmapi/definitions.h 
new/libfmapi-20230408/include/libfmapi/definitions.h
--- old/libfmapi-20230405/include/libfmapi/definitions.h        2023-04-05 
06:33:56.000000000 +0200
+++ new/libfmapi-20230408/include/libfmapi/definitions.h        2023-04-08 
08:58:05.000000000 +0200
@@ -24,11 +24,11 @@
 
 #include <libfmapi/types.h>
 
-#define LIBFMAPI_VERSION                                       20230405
+#define LIBFMAPI_VERSION                                       20230408
 
 /* The version string
  */
-#define LIBFMAPI_VERSION_STRING                                        
"20230405"
+#define LIBFMAPI_VERSION_STRING                                        
"20230408"
 
 /* The byte order definitions
  */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfmapi-20230405/include/libfmapi.h 
new/libfmapi-20230408/include/libfmapi.h
--- old/libfmapi-20230405/include/libfmapi.h    2023-04-05 06:33:56.000000000 
+0200
+++ new/libfmapi-20230408/include/libfmapi.h    2023-04-08 08:58:05.000000000 
+0200
@@ -117,7 +117,7 @@
 LIBFMAPI_EXTERN \
 int libfmapi_entry_identifier_copy_from_byte_stream(
      libfmapi_entry_identifier_t *entry_identifier,
-     uint8_t *byte_stream,
+     const uint8_t *byte_stream,
      size_t byte_stream_size,
      libfmapi_error_t **error );
 
@@ -158,7 +158,7 @@
 LIBFMAPI_EXTERN \
 int libfmapi_one_off_entry_identifier_copy_from_byte_stream(
      libfmapi_one_off_entry_identifier_t *entry_identifier,
-     uint8_t *byte_stream,
+     const uint8_t *byte_stream,
      size_t byte_stream_size,
      int ascii_codepage,
      libfmapi_error_t **error );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfmapi-20230405/include/libfmapi.h.in 
new/libfmapi-20230408/include/libfmapi.h.in
--- old/libfmapi-20230405/include/libfmapi.h.in 2023-04-05 06:03:47.000000000 
+0200
+++ new/libfmapi-20230408/include/libfmapi.h.in 2023-04-08 07:03:12.000000000 
+0200
@@ -117,7 +117,7 @@
 LIBFMAPI_EXTERN \
 int libfmapi_entry_identifier_copy_from_byte_stream(
      libfmapi_entry_identifier_t *entry_identifier,
-     uint8_t *byte_stream,
+     const uint8_t *byte_stream,
      size_t byte_stream_size,
      libfmapi_error_t **error );
 
@@ -158,7 +158,7 @@
 LIBFMAPI_EXTERN \
 int libfmapi_one_off_entry_identifier_copy_from_byte_stream(
      libfmapi_one_off_entry_identifier_t *entry_identifier,
-     uint8_t *byte_stream,
+     const uint8_t *byte_stream,
      size_t byte_stream_size,
      int ascii_codepage,
      libfmapi_error_t **error );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfmapi-20230405/libfmapi/libfmapi.rc 
new/libfmapi-20230408/libfmapi/libfmapi.rc
--- old/libfmapi-20230405/libfmapi/libfmapi.rc  2023-04-05 06:33:57.000000000 
+0200
+++ new/libfmapi-20230408/libfmapi/libfmapi.rc  2023-04-08 08:58:05.000000000 
+0200
@@ -22,12 +22,12 @@
     BLOCK "040904E4"
     BEGIN
       VALUE "FileDescription",         "Library to support the MAPI data 
types\0"
-      VALUE "FileVersion",             "20230405" "\0"
+      VALUE "FileVersion",             "20230408" "\0"
       VALUE "InternalName",            "libfmapi.dll\0"
       VALUE "LegalCopyright",          "(C) 2009-2023, Joachim Metz 
<joachim.m...@gmail.com>\0"
       VALUE "OriginalFilename",                "libfmapi.dll\0"
       VALUE "ProductName",             "libfmapi\0"
-      VALUE "ProductVersion",          "20230405" "\0"
+      VALUE "ProductVersion",          "20230408" "\0"
       VALUE "Comments",                        "For more information visit 
https://github.com/libyal/libfmapi/\0";
     END
   END
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfmapi-20230405/libfmapi/libfmapi_definitions.h 
new/libfmapi-20230408/libfmapi/libfmapi_definitions.h
--- old/libfmapi-20230405/libfmapi/libfmapi_definitions.h       2023-04-05 
06:33:56.000000000 +0200
+++ new/libfmapi-20230408/libfmapi/libfmapi_definitions.h       2023-04-08 
08:58:05.000000000 +0200
@@ -36,11 +36,11 @@
 #else
 #include <byte_stream.h>
 
-#define LIBFMAPI_VERSION                                       20230405
+#define LIBFMAPI_VERSION                                       20230408
 
 /* The libfmapi version string
  */
-#define LIBFMAPI_VERSION_STRING                                        
"20230405"
+#define LIBFMAPI_VERSION_STRING                                        
"20230408"
 
 /* The endian definitions
  */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfmapi-20230405/libfmapi/libfmapi_entry_identifier.c 
new/libfmapi-20230408/libfmapi/libfmapi_entry_identifier.c
--- old/libfmapi-20230405/libfmapi/libfmapi_entry_identifier.c  2023-04-05 
06:03:47.000000000 +0200
+++ new/libfmapi-20230408/libfmapi/libfmapi_entry_identifier.c  2023-04-08 
08:02:49.000000000 +0200
@@ -142,7 +142,7 @@
  */
 int libfmapi_entry_identifier_copy_from_byte_stream(
      libfmapi_entry_identifier_t *entry_identifier,
-     uint8_t *byte_stream,
+     const uint8_t *byte_stream,
      size_t byte_stream_size,
      libcerror_error_t **error )
 {
@@ -180,24 +180,14 @@
 
                return( -1 );
        }
-       if( byte_stream_size < 20 )
+       if( ( byte_stream_size < 20 )
+        || ( byte_stream_size > (size_t) SSIZE_MAX ) )
        {
                libcerror_error_set(
                 error,
                 LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
-                LIBCERROR_ARGUMENT_ERROR_VALUE_TOO_SMALL,
-                "%s: byte stream too small.",
-                function );
-
-               return( -1 );
-       }
-       if( byte_stream_size > (size_t) SSIZE_MAX )
-       {
-               libcerror_error_set(
-                error,
-                LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
-                LIBCERROR_ARGUMENT_ERROR_VALUE_EXCEEDS_MAXIMUM,
-                "%s: byte stream size value exceeds maximum.",
+                LIBCERROR_ARGUMENT_ERROR_VALUE_OUT_OF_BOUNDS,
+                "%s: invalid byte stream size value out of bounds.",
                 function );
 
                return( -1 );
@@ -206,7 +196,7 @@
        if( libcnotify_verbose != 0 )
        {
                libcnotify_printf(
-                "%s: header data:\n",
+                "%s: entry identifier data:\n",
                 function );
                libcnotify_print_data(
                 byte_stream,
@@ -216,7 +206,7 @@
 #endif
        if( memory_copy(
             internal_entry_identifier->flags,
-            byte_stream,
+            &( byte_stream[ 0 ] ),
             4 ) == NULL )
        {
                libcerror_error_set(
@@ -228,11 +218,9 @@
 
                goto on_error;
        }
-       byte_stream += 4;
-
        if( memory_copy(
             internal_entry_identifier->service_provider_identifier,
-            byte_stream,
+            &( byte_stream[ 4 ] ),
             16 ) == NULL )
        {
                libcerror_error_set(
@@ -244,8 +232,6 @@
 
                goto on_error;
        }
-       byte_stream += 16;
-
 #if defined( HAVE_DEBUG_OUTPUT )
        if( libcnotify_verbose != 0 )
        {
@@ -335,7 +321,8 @@
                libcnotify_printf(
                 "\n" );
        }
-#endif
+#endif /* defined( HAVE_DEBUG_OUTPUT ) */
+
        return( 1 );
 
 on_error:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfmapi-20230405/libfmapi/libfmapi_entry_identifier.h 
new/libfmapi-20230408/libfmapi/libfmapi_entry_identifier.h
--- old/libfmapi-20230405/libfmapi/libfmapi_entry_identifier.h  2023-04-05 
06:03:47.000000000 +0200
+++ new/libfmapi-20230408/libfmapi/libfmapi_entry_identifier.h  2023-04-08 
07:19:21.000000000 +0200
@@ -19,8 +19,8 @@
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 
-#if !defined( _LIBFMAPI_INTERNAL_ENTRY_IDENTIFIER_H )
-#define _LIBFMAPI_INTERNAL_ENTRY_IDENTIFIER_H
+#if !defined( _LIBFMAPI_ENTRY_IDENTIFIER_H )
+#define _LIBFMAPI_ENTRY_IDENTIFIER_H
 
 #include <common.h>
 #include <types.h>
@@ -59,7 +59,7 @@
 LIBFMAPI_EXTERN \
 int libfmapi_entry_identifier_copy_from_byte_stream(
      libfmapi_entry_identifier_t *entry_identifier,
-     uint8_t *byte_stream,
+     const uint8_t *byte_stream,
      size_t byte_stream_size,
      libcerror_error_t **error );
 
@@ -74,5 +74,5 @@
 }
 #endif
 
-#endif /* !defined( _LIBFMAPI_INTERNAL_ENTRY_IDENTIFIER_H ) */
+#endif /* !defined( _LIBFMAPI_ENTRY_IDENTIFIER_H ) */
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfmapi-20230405/libfmapi/libfmapi_one_off_entry_identifier.c 
new/libfmapi-20230408/libfmapi/libfmapi_one_off_entry_identifier.c
--- old/libfmapi-20230405/libfmapi/libfmapi_one_off_entry_identifier.c  
2023-04-05 06:03:47.000000000 +0200
+++ new/libfmapi-20230408/libfmapi/libfmapi_one_off_entry_identifier.c  
2023-04-08 08:44:02.000000000 +0200
@@ -156,14 +156,15 @@
  */
 int libfmapi_one_off_entry_identifier_copy_from_byte_stream(
      libfmapi_one_off_entry_identifier_t *entry_identifier,
-     uint8_t *byte_stream,
+     const uint8_t *byte_stream,
      size_t byte_stream_size,
      int ascii_codepage,
      libcerror_error_t **error )
 {
        libfmapi_internal_one_off_entry_identifier_t *internal_entry_identifier 
= NULL;
        static char *function                                                   
= "libfmapi_one_off_entry_identifier_copy_from_byte_stream";
-       size_t byte_stream_index                                                
= 0;
+       size_t byte_stream_offset                                               
= 0;
+       size_t string_size                                                      
= 0;
        uint16_t flags                                                          
= 0;
        uint16_t format_version                                                 
= 0;
        uint16_t supported_flags                                                
= 0;
@@ -225,24 +226,14 @@
 
                return( -1 );
        }
-       if( byte_stream_size < 4 )
+       if( ( byte_stream_size < 4 )
+        || ( byte_stream_size > (size_t) SSIZE_MAX ) )
        {
                libcerror_error_set(
                 error,
                 LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
-                LIBCERROR_ARGUMENT_ERROR_VALUE_TOO_SMALL,
-                "%s: byte stream too small.",
-                function );
-
-               return( -1 );
-       }
-       if( byte_stream_size > (size_t) SSIZE_MAX )
-       {
-               libcerror_error_set(
-                error,
-                LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
-                LIBCERROR_ARGUMENT_ERROR_VALUE_EXCEEDS_MAXIMUM,
-                "%s: byte stream size exceeds maximum.",
+                LIBCERROR_ARGUMENT_ERROR_VALUE_OUT_OF_BOUNDS,
+                "%s: invalid byte stream size value out of bounds.",
                 function );
 
                return( -1 );
@@ -251,7 +242,7 @@
        if( libcnotify_verbose != 0 )
        {
                libcnotify_printf(
-                "%s: header data:\n",
+                "%s: one-off entry identifier header data:\n",
                 function );
                libcnotify_print_data(
                 byte_stream,
@@ -260,19 +251,13 @@
        }
 #endif
        byte_stream_copy_to_uint16_little_endian(
-        byte_stream,
+        &( byte_stream[ 0 ] ),
         format_version );
 
-       byte_stream      += 2;
-       byte_stream_size -= 2;
-
        byte_stream_copy_to_uint16_little_endian(
-        byte_stream,
+        &( byte_stream[ 2 ] ),
         flags );
 
-       byte_stream      += 2;
-       byte_stream_size -= 2;
-
 #if defined( HAVE_DEBUG_OUTPUT )
        if( libcnotify_verbose != 0 )
        {
@@ -287,6 +272,8 @@
                 flags );
        }
 #endif
+       byte_stream_offset += 4;
+
        if( format_version != 0 )
        {
                libcerror_error_set(
@@ -315,36 +302,26 @@
 
                goto on_error;
        }
-       if( byte_stream_size == 0 )
-       {
-               libcerror_error_set(
-                error,
-                LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
-                LIBCERROR_ARGUMENT_ERROR_VALUE_TOO_SMALL,
-                "%s: byte stream too small.",
-                function );
-
-               goto on_error;
-       }
        internal_entry_identifier->format_version = format_version;
        internal_entry_identifier->flags          = flags;
        internal_entry_identifier->ascii_codepage = ascii_codepage;
 
-       byte_stream_index = 0;
+       string_size = byte_stream_offset;
 
        if( ( internal_entry_identifier->flags & 
LIBFMAPI_ONE_OFF_ENTRY_IDENTIFIER_FLAG_UNICODE ) != 0 )
        {
-               while( ( byte_stream_index + 1 ) < byte_stream_size )
+               while( string_size < ( byte_stream_size - 3 ) )
                {
-                       if( ( byte_stream[ byte_stream_index ] == 0 )
-                        && ( byte_stream[ byte_stream_index + 1 ] == 0 ) )
+                       if( ( byte_stream[ string_size ] == 0 )
+                        && ( byte_stream[ string_size + 1 ] == 0 ) )
                        {
                                break;
                        }
-                       byte_stream_index += 2;
+                       string_size += 2;
                }
-               if( ( byte_stream[ byte_stream_index ] != 0 )
-                || ( byte_stream[ byte_stream_index + 1 ] != 0 ) )
+               if( ( string_size >= ( byte_stream_size - 1 ) )
+                || ( byte_stream[ string_size ] != 0 )
+                || ( byte_stream[ string_size + 1 ] != 0 ) )
                {
                        libcerror_error_set(
                         error,
@@ -355,19 +332,20 @@
 
                        goto on_error;
                }
-               byte_stream_index += 2;
+               string_size += 2;
        }
        else
        {
-               while( byte_stream_index < byte_stream_size )
+               while( string_size < ( byte_stream_size - 1 ) )
                {
-                       if( byte_stream[ byte_stream_index ] == 0 )
+                       if( byte_stream[ string_size ] == 0 )
                        {
                                break;
                        }
-                       byte_stream_index += 1;
+                       string_size += 1;
                }
-               if( byte_stream[ byte_stream_index ] != 0 )
+               if( ( string_size >= byte_stream_size )
+                || ( byte_stream[ string_size ] != 0 ) )
                {
                        libcerror_error_set(
                         error,
@@ -378,7 +356,21 @@
 
                        return( -1 );
                }
-               byte_stream_index += 1;
+               string_size += 1;
+       }
+       string_size -= byte_stream_offset;
+
+       if( ( string_size == 0 )
+        || ( string_size > MEMORY_MAXIMUM_ALLOCATION_SIZE ) )
+       {
+               libcerror_error_set(
+                error,
+                LIBCERROR_ERROR_DOMAIN_RUNTIME,
+                LIBCERROR_RUNTIME_ERROR_VALUE_OUT_OF_BOUNDS,
+                "%s: invalid display name size value out of bounds.",
+                function );
+
+               goto on_error;
        }
 #if defined( HAVE_DEBUG_OUTPUT )
        if( libcnotify_verbose != 0 )
@@ -387,13 +379,13 @@
                 "%s: display name data:\n",
                 function );
                libcnotify_print_data(
-                byte_stream,
-                byte_stream_index,
+                &( byte_stream[ byte_stream_offset ] ),
+                string_size,
                 0 );
        }
 #endif
        internal_entry_identifier->display_name = (uint8_t *) memory_allocate(
-                                                              sizeof( uint8_t 
) * byte_stream_index );
+                                                              sizeof( uint8_t 
) * string_size );
 
        if( internal_entry_identifier->display_name == NULL )
        {
@@ -408,8 +400,8 @@
        }
        if( memory_copy(
             internal_entry_identifier->display_name,
-            byte_stream,
-            byte_stream_index ) == NULL )
+            &( byte_stream[ byte_stream_offset ] ),
+            string_size ) == NULL )
        {
                libcerror_error_set(
                 error,
@@ -420,37 +412,26 @@
 
                goto on_error;
        }
-       internal_entry_identifier->display_name_size = byte_stream_index;
+       internal_entry_identifier->display_name_size = string_size;
 
-       byte_stream      += byte_stream_index;
-       byte_stream_size -= byte_stream_index;
+       byte_stream_offset += string_size;
 
-       if( byte_stream_size == 0 )
-       {
-               libcerror_error_set(
-                error,
-                LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
-                LIBCERROR_ARGUMENT_ERROR_VALUE_TOO_SMALL,
-                "%s: byte stream too small.",
-                function );
-
-               goto on_error;
-       }
-       byte_stream_index = 0;
+       string_size = byte_stream_offset;
 
        if( ( internal_entry_identifier->flags & 
LIBFMAPI_ONE_OFF_ENTRY_IDENTIFIER_FLAG_UNICODE ) != 0 )
        {
-               while( ( byte_stream_index + 1 ) < byte_stream_size )
+               while( string_size < ( byte_stream_size - 3 ) )
                {
-                       if( ( byte_stream[ byte_stream_index ] == 0 )
-                        && ( byte_stream[ byte_stream_index + 1 ] == 0 ) )
+                       if( ( byte_stream[ string_size ] == 0 )
+                        && ( byte_stream[ string_size + 1 ] == 0 ) )
                        {
                                break;
                        }
-                       byte_stream_index += 2;
+                       string_size += 2;
                }
-               if( ( byte_stream[ byte_stream_index ] != 0 )
-                || ( byte_stream[ byte_stream_index + 1 ] != 0 ) )
+               if( ( string_size >= ( byte_stream_size - 1 ) )
+                || ( byte_stream[ string_size ] != 0 )
+                || ( byte_stream[ string_size + 1 ] != 0 ) )
                {
                        libcerror_error_set(
                         error,
@@ -461,19 +442,20 @@
 
                        goto on_error;
                }
-               byte_stream_index += 2;
+               string_size += 2;
        }
        else
        {
-               while( byte_stream_index < byte_stream_size )
+               while( string_size < ( byte_stream_size - 1 ) )
                {
-                       if( byte_stream[ byte_stream_index ] == 0 )
+                       if( byte_stream[ string_size ] == 0 )
                        {
                                break;
                        }
-                       byte_stream_index += 1;
+                       string_size += 1;
                }
-               if( byte_stream[ byte_stream_index ] != 0 )
+               if( ( string_size >= byte_stream_size )
+                || ( byte_stream[ string_size ] != 0 ) )
                {
                        libcerror_error_set(
                         error,
@@ -484,7 +466,21 @@
 
                        goto on_error;
                }
-               byte_stream_index += 1;
+               string_size += 1;
+       }
+       string_size -= byte_stream_offset;
+
+       if( ( string_size == 0 )
+        || ( string_size > MEMORY_MAXIMUM_ALLOCATION_SIZE ) )
+       {
+               libcerror_error_set(
+                error,
+                LIBCERROR_ERROR_DOMAIN_RUNTIME,
+                LIBCERROR_RUNTIME_ERROR_VALUE_OUT_OF_BOUNDS,
+                "%s: invalid address type size value out of bounds.",
+                function );
+
+               goto on_error;
        }
 #if defined( HAVE_DEBUG_OUTPUT )
        if( libcnotify_verbose != 0 )
@@ -493,13 +489,13 @@
                 "%s: address type data:\n",
                 function );
                libcnotify_print_data(
-                byte_stream,
-                byte_stream_index,
+                &( byte_stream[ byte_stream_offset ] ),
+                string_size,
                 0 );
        }
 #endif
        internal_entry_identifier->address_type = (uint8_t *) memory_allocate(
-                                                              sizeof( uint8_t 
) * byte_stream_index );
+                                                              sizeof( uint8_t 
) * string_size );
 
        if( internal_entry_identifier->address_type == NULL )
        {
@@ -514,8 +510,8 @@
        }
        if( memory_copy(
             internal_entry_identifier->address_type,
-            byte_stream,
-            byte_stream_index ) == NULL )
+            &( byte_stream[ byte_stream_offset ] ),
+            string_size ) == NULL )
        {
                libcerror_error_set(
                 error,
@@ -526,37 +522,26 @@
 
                goto on_error;
        }
-       internal_entry_identifier->address_type_size = byte_stream_index;
+       internal_entry_identifier->address_type_size = string_size;
 
-       byte_stream      += byte_stream_index;
-       byte_stream_size -= byte_stream_index;
-
-       if( byte_stream_size == 0 )
-       {
-               libcerror_error_set(
-                error,
-                LIBCERROR_ERROR_DOMAIN_ARGUMENTS,
-                LIBCERROR_ARGUMENT_ERROR_VALUE_TOO_SMALL,
-                "%s: byte stream too small.",
-                function );
+       byte_stream_offset += string_size;
 
-               goto on_error;
-       }
-       byte_stream_index = 0;
+       string_size = byte_stream_offset;
 
        if( ( internal_entry_identifier->flags & 
LIBFMAPI_ONE_OFF_ENTRY_IDENTIFIER_FLAG_UNICODE ) != 0 )
        {
-               while( ( byte_stream_index + 1 ) < byte_stream_size )
+               while( string_size < ( byte_stream_size - 3 ) )
                {
-                       if( ( byte_stream[ byte_stream_index ] == 0 )
-                        && ( byte_stream[ byte_stream_index + 1 ] == 0 ) )
+                       if( ( byte_stream[ string_size ] == 0 )
+                        && ( byte_stream[ string_size + 1 ] == 0 ) )
                        {
                                break;
                        }
-                       byte_stream_index += 2;
+                       string_size += 2;
                }
-               if( ( byte_stream[ byte_stream_index ] != 0 )
-                || ( byte_stream[ byte_stream_index + 1 ] != 0 ) )
+               if( ( string_size >= ( byte_stream_size - 1 ) )
+                || ( byte_stream[ string_size ] != 0 )
+                || ( byte_stream[ string_size + 1 ] != 0 ) )
                {
                        libcerror_error_set(
                         error,
@@ -567,19 +552,20 @@
 
                        goto on_error;
                }
-               byte_stream_index += 2;
+               string_size += 2;
        }
        else
        {
-               while( byte_stream_index < byte_stream_size )
+               while( string_size < ( byte_stream_size - 1 ) )
                {
-                       if( byte_stream[ byte_stream_index ] == 0 )
+                       if( byte_stream[ string_size ] == 0 )
                        {
                                break;
                        }
-                       byte_stream_index += 1;
+                       string_size += 1;
                }
-               if( byte_stream[ byte_stream_index ] != 0 )
+               if( ( string_size >= byte_stream_size )
+                || ( byte_stream[ string_size ] != 0 ) )
                {
                        libcerror_error_set(
                         error,
@@ -590,7 +576,21 @@
 
                        goto on_error;
                }
-               byte_stream_index += 1;
+               string_size += 1;
+       }
+       string_size -= byte_stream_offset;
+
+       if( ( string_size == 0 )
+        || ( string_size > MEMORY_MAXIMUM_ALLOCATION_SIZE ) )
+       {
+               libcerror_error_set(
+                error,
+                LIBCERROR_ERROR_DOMAIN_RUNTIME,
+                LIBCERROR_RUNTIME_ERROR_VALUE_OUT_OF_BOUNDS,
+                "%s: invalid email address size value out of bounds.",
+                function );
+
+               goto on_error;
        }
 #if defined( HAVE_DEBUG_OUTPUT )
        if( libcnotify_verbose != 0 )
@@ -599,13 +599,13 @@
                 "%s: email address data:\n",
                 function );
                libcnotify_print_data(
-                byte_stream,
-                byte_stream_index,
+                &( byte_stream[ byte_stream_offset ] ),
+                string_size,
                 0 );
        }
 #endif
        internal_entry_identifier->email_address = (uint8_t *) memory_allocate(
-                                                               sizeof( uint8_t 
) * byte_stream_index );
+                                                               sizeof( uint8_t 
) * string_size );
 
        if( internal_entry_identifier->email_address == NULL )
        {
@@ -620,8 +620,8 @@
        }
        if( memory_copy(
             internal_entry_identifier->email_address,
-            byte_stream,
-            byte_stream_index ) == NULL )
+            &( byte_stream[ byte_stream_offset ] ),
+            string_size ) == NULL )
        {
                libcerror_error_set(
                 error,
@@ -632,22 +632,21 @@
 
                goto on_error;
        }
-       internal_entry_identifier->email_address_size = byte_stream_index;
+       internal_entry_identifier->email_address_size = string_size;
 
-       byte_stream      += byte_stream_index;
-       byte_stream_size -= byte_stream_index;
+       byte_stream_offset += string_size;
 
 #if defined( HAVE_DEBUG_OUTPUT )
        if( libcnotify_verbose != 0 )
        {
-               if( byte_stream_size > 0 )
+               if( byte_stream_offset < byte_stream_size )
                {
                        libcnotify_printf(
                         "%s: trailing data:\n",
                         function );
                        libcnotify_print_data(
-                        byte_stream,
-                        byte_stream_size,
+                        &( byte_stream[ byte_stream_offset ] ),
+                        byte_stream_size - byte_stream_offset,
                         0 );
                }
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfmapi-20230405/libfmapi/libfmapi_one_off_entry_identifier.h 
new/libfmapi-20230408/libfmapi/libfmapi_one_off_entry_identifier.h
--- old/libfmapi-20230405/libfmapi/libfmapi_one_off_entry_identifier.h  
2023-04-05 06:03:47.000000000 +0200
+++ new/libfmapi-20230408/libfmapi/libfmapi_one_off_entry_identifier.h  
2023-04-08 07:19:10.000000000 +0200
@@ -19,8 +19,8 @@
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 
-#if !defined( _LIBFMAPI_INTERNAL_ONE_OFF_ENTRY_IDENTIFIER_H )
-#define _LIBFMAPI_INTERNAL_ONE_OFF_ENTRY_IDENTIFIER_H
+#if !defined( _LIBFMAPI_ONE_OFF_ENTRY_IDENTIFIER_H )
+#define _LIBFMAPI_ONE_OFF_ENTRY_IDENTIFIER_H
 
 #include <common.h>
 #include <types.h>
@@ -87,7 +87,7 @@
 LIBFMAPI_EXTERN \
 int libfmapi_one_off_entry_identifier_copy_from_byte_stream(
      libfmapi_one_off_entry_identifier_t *entry_identifier,
-     uint8_t *byte_stream,
+     const uint8_t *byte_stream,
      size_t byte_stream_size,
      int ascii_codepage,
      libcerror_error_t **error );
@@ -186,5 +186,5 @@
 }
 #endif
 
-#endif /* !defined( _LIBFMAPI_INTERNAL_ONE_OFF_ENTRY_IDENTIFIER_H ) */
+#endif /* !defined( _LIBFMAPI_ONE_OFF_ENTRY_IDENTIFIER_H ) */
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfmapi-20230405/libfmapi.spec 
new/libfmapi-20230408/libfmapi.spec
--- old/libfmapi-20230405/libfmapi.spec 2023-04-05 06:33:57.000000000 +0200
+++ new/libfmapi-20230408/libfmapi.spec 2023-04-08 08:58:05.000000000 +0200
@@ -1,5 +1,5 @@
 Name: libfmapi
-Version: 20230405
+Version: 20230408
 Release: 1
 Summary: Library to support the MAPI data types
 Group: System Environment/Libraries
@@ -69,6 +69,6 @@
 %{_mandir}/man3/*
 
 %changelog
-* Wed Apr  5 2023 Joachim Metz <joachim.m...@gmail.com> 20230405-1
+* Sat Apr  8 2023 Joachim Metz <joachim.m...@gmail.com> 20230408-1
 - Auto-generated
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfmapi-20230405/manuals/libfmapi.3 
new/libfmapi-20230408/manuals/libfmapi.3
--- old/libfmapi-20230405/manuals/libfmapi.3    2023-04-05 06:03:47.000000000 
+0200
+++ new/libfmapi-20230408/manuals/libfmapi.3    2023-04-08 07:03:26.000000000 
+0200
@@ -29,7 +29,7 @@
 .Ft int
 .Fn libfmapi_entry_identifier_free "libfmapi_entry_identifier_t 
**entry_identifier" "libfmapi_error_t **error"
 .Ft int
-.Fn libfmapi_entry_identifier_copy_from_byte_stream 
"libfmapi_entry_identifier_t *entry_identifier" "uint8_t *byte_stream" "size_t 
byte_stream_size" "libfmapi_error_t **error"
+.Fn libfmapi_entry_identifier_copy_from_byte_stream 
"libfmapi_entry_identifier_t *entry_identifier" "const uint8_t *byte_stream" 
"size_t byte_stream_size" "libfmapi_error_t **error"
 .Ft int
 .Fn libfmapi_entry_identifier_get_service_provider_identifier 
"libfmapi_entry_identifier_t *entry_identifier" "uint8_t *guid_data" "size_t 
guid_data_size" "libfmapi_error_t **error"
 .Pp
@@ -39,7 +39,7 @@
 .Ft int
 .Fn libfmapi_one_off_entry_identifier_free 
"libfmapi_one_off_entry_identifier_t **entry_identifier" "libfmapi_error_t 
**error"
 .Ft int
-.Fn libfmapi_one_off_entry_identifier_copy_from_byte_stream 
"libfmapi_one_off_entry_identifier_t *entry_identifier" "uint8_t *byte_stream" 
"size_t byte_stream_size" "int ascii_codepage" "libfmapi_error_t **error"
+.Fn libfmapi_one_off_entry_identifier_copy_from_byte_stream 
"libfmapi_one_off_entry_identifier_t *entry_identifier" "const uint8_t 
*byte_stream" "size_t byte_stream_size" "int ascii_codepage" "libfmapi_error_t 
**error"
 .Ft int
 .Fn libfmapi_one_off_entry_identifier_get_version 
"libfmapi_one_off_entry_identifier_t *entry_identifier" "uint16_t 
*format_version" "libfmapi_error_t **error"
 .Ft int
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfmapi-20230405/ossfuzz/Makefile.am 
new/libfmapi-20230408/ossfuzz/Makefile.am
--- old/libfmapi-20230405/ossfuzz/Makefile.am   2023-04-05 06:05:55.000000000 
+0200
+++ new/libfmapi-20230408/ossfuzz/Makefile.am   2023-04-08 07:20:55.000000000 
+0200
@@ -4,7 +4,17 @@
        -I$(top_srcdir)/common
 
 bin_PROGRAMS = \
-       lzfu_fuzzer
+       entry_identifier_fuzzer \
+       lzfu_fuzzer \
+       one_off_entry_identifier_fuzzer
+
+entry_identifier_fuzzer_SOURCES = \
+       entry_identifier_fuzzer.cc \
+       ossfuzz_libfmapi.h
+
+entry_identifier_fuzzer_LDADD = \
+       @LIB_FUZZING_ENGINE@ \
+       ../libfmapi/libfmapi.la
 
 lzfu_fuzzer_SOURCES = \
        lzfu_fuzzer.cc \
@@ -13,6 +23,14 @@
 lzfu_fuzzer_LDADD = \
        @LIB_FUZZING_ENGINE@ \
        ../libfmapi/libfmapi.la
+
+one_off_entry_identifier_fuzzer_SOURCES = \
+       one_off_entry_identifier_fuzzer.cc \
+       ossfuzz_libfmapi.h
+
+one_off_entry_identifier_fuzzer_LDADD = \
+       @LIB_FUZZING_ENGINE@ \
+       ../libfmapi/libfmapi.la
 endif
 
 MAINTAINERCLEANFILES = \
@@ -22,6 +40,10 @@
        /bin/rm -f Makefile
 
 splint:
+       @echo "Running splint on entry_identifier_fuzzer ..."
+       -splint -preproc -redef $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(entry_identifier_fuzzer_SOURCES)
        @echo "Running splint on lzfu_fuzzer ..."
        -splint -preproc -redef $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(lzfu_fuzzer_SOURCES)
+       @echo "Running splint on one_off_entry_identifier_fuzzer ..."
+       -splint -preproc -redef $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(one_off_entry_identifier_fuzzer_SOURCES)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfmapi-20230405/ossfuzz/Makefile.in 
new/libfmapi-20230408/ossfuzz/Makefile.in
--- old/libfmapi-20230405/ossfuzz/Makefile.in   2023-04-05 06:33:47.000000000 
+0200
+++ new/libfmapi-20230408/ossfuzz/Makefile.in   2023-04-08 08:57:56.000000000 
+0200
@@ -88,7 +88,9 @@
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-@HAVE_LIB_FUZZING_ENGINE_TRUE@bin_PROGRAMS = lzfu_fuzzer$(EXEEXT)
+@HAVE_LIB_FUZZING_ENGINE_TRUE@bin_PROGRAMS = entry_identifier_fuzzer$(EXEEXT) \
+@HAVE_LIB_FUZZING_ENGINE_TRUE@ lzfu_fuzzer$(EXEEXT) \
+@HAVE_LIB_FUZZING_ENGINE_TRUE@ one_off_entry_identifier_fuzzer$(EXEEXT)
 subdir = ossfuzz
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/common.m4 \
@@ -116,16 +118,30 @@
 CONFIG_CLEAN_VPATH_FILES =
 am__installdirs = "$(DESTDIR)$(bindir)"
 PROGRAMS = $(bin_PROGRAMS)
+am__entry_identifier_fuzzer_SOURCES_DIST = entry_identifier_fuzzer.cc \
+       ossfuzz_libfmapi.h
+@HAVE_LIB_FUZZING_ENGINE_TRUE@am_entry_identifier_fuzzer_OBJECTS = 
entry_identifier_fuzzer.$(OBJEXT)
+entry_identifier_fuzzer_OBJECTS =  \
+       $(am_entry_identifier_fuzzer_OBJECTS)
+@HAVE_LIB_FUZZING_ENGINE_TRUE@entry_identifier_fuzzer_DEPENDENCIES =  \
+@HAVE_LIB_FUZZING_ENGINE_TRUE@ ../libfmapi/libfmapi.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
 am__lzfu_fuzzer_SOURCES_DIST = lzfu_fuzzer.cc ossfuzz_libfmapi.h
 @HAVE_LIB_FUZZING_ENGINE_TRUE@am_lzfu_fuzzer_OBJECTS =  \
 @HAVE_LIB_FUZZING_ENGINE_TRUE@ lzfu_fuzzer.$(OBJEXT)
 lzfu_fuzzer_OBJECTS = $(am_lzfu_fuzzer_OBJECTS)
 @HAVE_LIB_FUZZING_ENGINE_TRUE@lzfu_fuzzer_DEPENDENCIES =  \
 @HAVE_LIB_FUZZING_ENGINE_TRUE@ ../libfmapi/libfmapi.la
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 = 
+am__one_off_entry_identifier_fuzzer_SOURCES_DIST =  \
+       one_off_entry_identifier_fuzzer.cc ossfuzz_libfmapi.h
+@HAVE_LIB_FUZZING_ENGINE_TRUE@am_one_off_entry_identifier_fuzzer_OBJECTS = 
one_off_entry_identifier_fuzzer.$(OBJEXT)
+one_off_entry_identifier_fuzzer_OBJECTS =  \
+       $(am_one_off_entry_identifier_fuzzer_OBJECTS)
+@HAVE_LIB_FUZZING_ENGINE_TRUE@one_off_entry_identifier_fuzzer_DEPENDENCIES =  \
+@HAVE_LIB_FUZZING_ENGINE_TRUE@ ../libfmapi/libfmapi.la
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -141,7 +157,9 @@
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/common
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__maybe_remake_depfiles = depfiles
-am__depfiles_remade = ./$(DEPDIR)/lzfu_fuzzer.Po
+am__depfiles_remade = ./$(DEPDIR)/entry_identifier_fuzzer.Po \
+       ./$(DEPDIR)/lzfu_fuzzer.Po \
+       ./$(DEPDIR)/one_off_entry_identifier_fuzzer.Po
 am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
        $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
@@ -179,8 +197,11 @@
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
-SOURCES = $(lzfu_fuzzer_SOURCES)
-DIST_SOURCES = $(am__lzfu_fuzzer_SOURCES_DIST)
+SOURCES = $(entry_identifier_fuzzer_SOURCES) $(lzfu_fuzzer_SOURCES) \
+       $(one_off_entry_identifier_fuzzer_SOURCES)
+DIST_SOURCES = $(am__entry_identifier_fuzzer_SOURCES_DIST) \
+       $(am__lzfu_fuzzer_SOURCES_DIST) \
+       $(am__one_off_entry_identifier_fuzzer_SOURCES_DIST)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -451,6 +472,14 @@
 @HAVE_LIB_FUZZING_ENGINE_TRUE@ -I$(top_srcdir)/include \
 @HAVE_LIB_FUZZING_ENGINE_TRUE@ -I$(top_srcdir)/common
 
+@HAVE_LIB_FUZZING_ENGINE_TRUE@entry_identifier_fuzzer_SOURCES = \
+@HAVE_LIB_FUZZING_ENGINE_TRUE@ entry_identifier_fuzzer.cc \
+@HAVE_LIB_FUZZING_ENGINE_TRUE@ ossfuzz_libfmapi.h
+
+@HAVE_LIB_FUZZING_ENGINE_TRUE@entry_identifier_fuzzer_LDADD = \
+@HAVE_LIB_FUZZING_ENGINE_TRUE@ @LIB_FUZZING_ENGINE@ \
+@HAVE_LIB_FUZZING_ENGINE_TRUE@ ../libfmapi/libfmapi.la
+
 @HAVE_LIB_FUZZING_ENGINE_TRUE@lzfu_fuzzer_SOURCES = \
 @HAVE_LIB_FUZZING_ENGINE_TRUE@ lzfu_fuzzer.cc \
 @HAVE_LIB_FUZZING_ENGINE_TRUE@ ossfuzz_libfmapi.h
@@ -459,6 +488,14 @@
 @HAVE_LIB_FUZZING_ENGINE_TRUE@ @LIB_FUZZING_ENGINE@ \
 @HAVE_LIB_FUZZING_ENGINE_TRUE@ ../libfmapi/libfmapi.la
 
+@HAVE_LIB_FUZZING_ENGINE_TRUE@one_off_entry_identifier_fuzzer_SOURCES = \
+@HAVE_LIB_FUZZING_ENGINE_TRUE@ one_off_entry_identifier_fuzzer.cc \
+@HAVE_LIB_FUZZING_ENGINE_TRUE@ ossfuzz_libfmapi.h
+
+@HAVE_LIB_FUZZING_ENGINE_TRUE@one_off_entry_identifier_fuzzer_LDADD = \
+@HAVE_LIB_FUZZING_ENGINE_TRUE@ @LIB_FUZZING_ENGINE@ \
+@HAVE_LIB_FUZZING_ENGINE_TRUE@ ../libfmapi/libfmapi.la
+
 MAINTAINERCLEANFILES = \
        Makefile.in
 
@@ -545,17 +582,27 @@
        echo " rm -f" $$list; \
        rm -f $$list
 
+entry_identifier_fuzzer$(EXEEXT): $(entry_identifier_fuzzer_OBJECTS) 
$(entry_identifier_fuzzer_DEPENDENCIES) 
$(EXTRA_entry_identifier_fuzzer_DEPENDENCIES) 
+       @rm -f entry_identifier_fuzzer$(EXEEXT)
+       $(AM_V_CXXLD)$(CXXLINK) $(entry_identifier_fuzzer_OBJECTS) 
$(entry_identifier_fuzzer_LDADD) $(LIBS)
+
 lzfu_fuzzer$(EXEEXT): $(lzfu_fuzzer_OBJECTS) $(lzfu_fuzzer_DEPENDENCIES) 
$(EXTRA_lzfu_fuzzer_DEPENDENCIES) 
        @rm -f lzfu_fuzzer$(EXEEXT)
        $(AM_V_CXXLD)$(CXXLINK) $(lzfu_fuzzer_OBJECTS) $(lzfu_fuzzer_LDADD) 
$(LIBS)
 
+one_off_entry_identifier_fuzzer$(EXEEXT): 
$(one_off_entry_identifier_fuzzer_OBJECTS) 
$(one_off_entry_identifier_fuzzer_DEPENDENCIES) 
$(EXTRA_one_off_entry_identifier_fuzzer_DEPENDENCIES) 
+       @rm -f one_off_entry_identifier_fuzzer$(EXEEXT)
+       $(AM_V_CXXLD)$(CXXLINK) $(one_off_entry_identifier_fuzzer_OBJECTS) 
$(one_off_entry_identifier_fuzzer_LDADD) $(LIBS)
+
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
 
 distclean-compile:
        -rm -f *.tab.c
 
+@AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/entry_identifier_fuzzer.Po@am__quote@ # 
am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzfu_fuzzer.Po@am__quote@ # 
am--include-marker
+@AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/one_off_entry_identifier_fuzzer.Po@am__quote@ # 
am--include-marker
 
 $(am__depfiles_remade):
        @$(MKDIR_P) $(@D)
@@ -760,7 +807,9 @@
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-               -rm -f ./$(DEPDIR)/lzfu_fuzzer.Po
+               -rm -f ./$(DEPDIR)/entry_identifier_fuzzer.Po
+       -rm -f ./$(DEPDIR)/lzfu_fuzzer.Po
+       -rm -f ./$(DEPDIR)/one_off_entry_identifier_fuzzer.Po
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -802,8 +851,12 @@
        /bin/rm -f Makefile
 
 splint:
+       @echo "Running splint on entry_identifier_fuzzer ..."
+       -splint -preproc -redef $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(entry_identifier_fuzzer_SOURCES)
        @echo "Running splint on lzfu_fuzzer ..."
        -splint -preproc -redef $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(lzfu_fuzzer_SOURCES)
+       @echo "Running splint on one_off_entry_identifier_fuzzer ..."
+       -splint -preproc -redef $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(one_off_entry_identifier_fuzzer_SOURCES)
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfmapi-20230405/ossfuzz/entry_identifier_fuzzer.cc 
new/libfmapi-20230408/ossfuzz/entry_identifier_fuzzer.cc
--- old/libfmapi-20230405/ossfuzz/entry_identifier_fuzzer.cc    1970-01-01 
01:00:00.000000000 +0100
+++ new/libfmapi-20230408/ossfuzz/entry_identifier_fuzzer.cc    2023-04-08 
06:47:56.000000000 +0200
@@ -0,0 +1,57 @@
+/*
+ * OSS-Fuzz target for libfmapi entry_identifier type
+ *
+ * Copyright (C) 2011-2023, Joachim Metz <joachim.m...@gmail.com>
+ *
+ * Refer to AUTHORS for acknowledgements.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include <stddef.h>
+#include <stdint.h>
+
+/* Note that some of the OSS-Fuzz engines use C++
+ */
+extern "C" {
+
+#include "ossfuzz_libfmapi.h"
+
+int LLVMFuzzerTestOneInput(
+     const uint8_t *data,
+     size_t size )
+{
+       libfmapi_entry_identifier_t *entry_identifier = NULL;
+
+       if( libfmapi_entry_identifier_initialize(
+            &entry_identifier,
+            NULL ) != 1 )
+       {
+               return( 0 );
+       }
+       libfmapi_entry_identifier_copy_from_byte_stream(
+        entry_identifier,
+        data,
+        size,
+        NULL );
+
+       libfmapi_entry_identifier_free(
+        &entry_identifier,
+        NULL );
+
+       return( 0 );
+}
+
+} /* extern "C" */
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfmapi-20230405/ossfuzz/one_off_entry_identifier_fuzzer.cc 
new/libfmapi-20230408/ossfuzz/one_off_entry_identifier_fuzzer.cc
--- old/libfmapi-20230405/ossfuzz/one_off_entry_identifier_fuzzer.cc    
1970-01-01 01:00:00.000000000 +0100
+++ new/libfmapi-20230408/ossfuzz/one_off_entry_identifier_fuzzer.cc    
2023-04-08 07:08:50.000000000 +0200
@@ -0,0 +1,59 @@
+/*
+ * OSS-Fuzz target for libfmapi one_off_entry_identifier type
+ *
+ * Copyright (C) 2011-2023, Joachim Metz <joachim.m...@gmail.com>
+ *
+ * Refer to AUTHORS for acknowledgements.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include <stddef.h>
+#include <stdint.h>
+
+/* Note that some of the OSS-Fuzz engines use C++
+ */
+extern "C" {
+
+#include "ossfuzz_libfmapi.h"
+
+int LLVMFuzzerTestOneInput(
+     const uint8_t *data,
+     size_t size )
+{
+       libfmapi_one_off_entry_identifier_t *one_off_entry_identifier = NULL;
+
+       if( libfmapi_one_off_entry_identifier_initialize(
+            &one_off_entry_identifier,
+            NULL ) != 1 )
+       {
+               return( 0 );
+       }
+/* TODO replace 1252 by codepage definition */
+       libfmapi_one_off_entry_identifier_copy_from_byte_stream(
+        one_off_entry_identifier,
+        data,
+        size,
+        1252,
+        NULL );
+
+       libfmapi_one_off_entry_identifier_free(
+        &one_off_entry_identifier,
+        NULL );
+
+       return( 0 );
+}
+
+} /* extern "C" */
+

Reply via email to