glib/gobject
Simon McVittie e5ed410c8c Avoid calling Standard C string/array functions with NULL arguments
glibc string.h declares memcpy() with attribute(nonnull(1,2)), causing
calls with NULL arguments to be treated as undefined behaviour.
This is consistent with ISO C99 and C11, which state that passing 0
to string functions as an array length does not remove the requirement
that the pointer to the array is a valid pointer.
gcc -fsanitize=undefined catches this while running OSTree's test suite.

Similarly, running the GLib test suite reports similar issues for
qsort(), memmove(), memcmp().

Signed-off-by: Simon McVittie <smcv@debian.org>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=775510
Reviewed-by: Colin Walters
2016-12-02 19:10:39 +00:00
..
tests Fix the signals test 2016-08-27 22:54:39 -04:00
.gitignore Stop using glib-genmarshal at build time 2011-06-20 17:24:07 -04:00
ChangeLog Update README files to refer to git 2009-03-31 19:39:16 -04:00
gatomicarray.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gatomicarray.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gbinding.c introspection: use (nullable) or (optional) instead of (allow-none) 2016-11-22 14:14:37 -08:00
gbinding.h GObject: Remove more leftover markup from headers 2014-03-07 06:10:36 -05:00
gboxed.c introspection: use (nullable) or (optional) instead of (allow-none) 2016-11-22 14:14:37 -08:00
gboxed.h glib: Add missing (nullable) and (optional) annotations 2015-11-07 10:48:32 +01:00
gclosure.c introspection: use (nullable) or (optional) instead of (allow-none) 2016-11-22 14:14:37 -08:00
gclosure.h introspection: use (nullable) or (optional) instead of (allow-none) 2016-11-22 14:14:37 -08:00
genums.c docs: code example for enumeration types 2015-02-08 16:06:17 +01:00
genums.h Updated FSF's address 2014-01-31 14:31:55 +01:00
glib-genmarshal.c glib-genmarshal: add --output option to write output to a file 2016-10-12 15:56:49 -04:00
glib-mkenums.in glib-mkenums: fix variable declaration 2016-11-08 15:21:03 +00:00
glib-types.h Move GStrv typedef to glib.h instead of gobject.h 2015-09-22 11:18:30 -04:00
gmarshal.c introspection: use (nullable) or (optional) instead of (allow-none) 2016-11-22 14:14:37 -08:00
gmarshal.h gmarshal.h: replace "extern" with GLIB_AVAILABLE_IN_ALL 2013-01-13 13:13:55 -05:00
gmarshal.list Update the comment in gmarshal.list 2012-06-23 17:53:22 -04:00
gobject_gdb.py Rename gdb macros with _gdb suffix to avoid ns clashes 2016-05-23 10:52:10 -04:00
gobject_probes.d Add missing semicolons to gobject_probes.d 2012-10-15 19:48:44 -04:00
gobject_trace.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gobject-autocleanups.h Revert "gvalue: Use g_value_clear as clear function" 2015-10-02 10:07:53 -04:00
gobject-query.c gobject: Mark a helper variable as const 2015-03-04 08:55:30 +00:00
gobject.c introspection: use (nullable) or (optional) instead of (allow-none) 2016-11-22 14:14:37 -08:00
gobject.h Make g_set_object more symmetric 2015-09-07 19:43:19 -04:00
gobject.rc.in Update the year in the *.rc.in files 2011-06-07 08:55:31 +08:00
gobject.stp.in glib: Namespace global tapset variables by soname 2016-11-23 10:50:39 +00:00
gobjectnotifyqueue.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gparam.c GParam: make G_PARAM_USER_MASK unsigned 2016-12-02 19:10:26 +00:00
gparam.h Avoid warning for G_PARAM_DEPRECATED with GCC 6 [-Wpedantic] 2016-10-24 06:10:14 -04:00
gparamspecs.c introspection: use (nullable) or (optional) instead of (allow-none) 2016-11-22 14:14:37 -08:00
gparamspecs.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gsignal.c introspection: use (nullable) or (optional) instead of (allow-none) 2016-11-22 14:14:37 -08:00
gsignal.h gsignal: Mention handler ID type in signal connection macro docs 2016-11-10 16:12:41 +00:00
gsourceclosure.c Prevent race condition in g_io_condition_get_type 2015-06-04 22:30:50 -04:00
gsourceclosure.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gtype-private.h gobject: add GOBJECT_IF_DEBUG macro for debugging gobjects and gsignals. 2016-07-16 20:54:44 -04:00
gtype.c Avoid calling Standard C string/array functions with NULL arguments 2016-12-02 19:10:39 +00:00
gtype.h Revert "make *_get_instance_private const-compliant" 2016-01-18 18:48:42 +00:00
gtypemodule.c GObject: Convert docs to markdown 2014-02-01 10:22:45 -05:00
gtypemodule.h gobject: add g_autoptr support for GTypeModule 2016-07-21 17:03:06 +03:00
gtypeplugin.c Annotate all examples with their language 2014-02-01 15:11:49 -05:00
gtypeplugin.h GObject: Remove more leftover markup from headers 2014-03-07 06:10:36 -05:00
gvalue.c introspection: use (nullable) or (optional) instead of (allow-none) 2016-11-22 14:14:37 -08:00
gvalue.h Revert "gvalue: Add g_value_clear method" 2015-10-02 10:07:53 -04:00
gvaluearray.c introspection: use (nullable) or (optional) instead of (allow-none) 2016-11-22 14:14:37 -08:00
gvaluearray.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gvaluecollector.h docs: fix many documentation issues in gobject/ 2015-02-05 16:01:17 +01:00
gvaluetransform.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gvaluetypes.c introspection: use (nullable) or (optional) instead of (allow-none) 2016-11-22 14:14:37 -08:00
gvaluetypes.h Updated FSF's address 2014-01-31 14:31:55 +01:00
libgobject-gdb.py.in Rename gdb macros with _gdb suffix to avoid ns clashes 2016-05-23 10:52:10 -04:00
Makefile.am build: Fix SystemTap build to disable semaphores as before 2016-08-13 09:32:12 +02:00
makefile.msc.in gobject/: fully remove gobjectalias hacks 2010-07-07 19:40:48 -04:00
marshal-genstrings.pl Hacky script to fix up your .msc.in files on windows. Dunno if this is a 2001-08-04 15:49:55 +00:00