Commit Graph

23918 Commits

Author SHA1 Message Date
Egor Bychin
e9adcd8f7f gbacktrace: Fix fcntl command arguments not being checked 2021-10-15 14:15:43 +03:00
Egor Bychin
b32727d43d gsocks5proxy: Fix buffer overflow on a really long domain name 2021-10-15 14:15:43 +03:00
Egor Bychin
328bd31631 gsocket: Add ignorant of an fcntl return value 2021-10-15 14:15:43 +03:00
Egor Bychin
cdb9762072 gsettings-mapping: Fix HANDLE being treated as unsigned 2021-10-15 14:15:43 +03:00
Egor Bychin
a50e605d52 gproxyaddressenumerator: Fix string leakage on an invalid input 2021-10-15 14:15:43 +03:00
Egor Bychin
9dc7475f93 gopenuriportal: Fix GVariantBuilder and string leakage on g_open failure 2021-10-15 14:15:38 +03:00
Egor Bychin
e90eaff490 gmarshal-internal: Fix string leakage due to misplaced check 2021-10-11 13:59:05 +03:00
Egor Bychin
5a032f32ea glocalfileinfo: Fix atime/mtime mix due to bad copy/paste 2021-10-11 13:56:43 +03:00
Egor Bychin
16ce10eb3c glocalfile: Fix g_stat return value not being checked 2021-10-11 13:55:17 +03:00
Egor Bychin
84affed056 gdbusauthmechanismsha1: Fix pointer being freed after being NULLed 2021-10-11 13:54:07 +03:00
Egor Bychin
36531f7015 gcontenttype: Fix strchr failure leading to a NULL dereference 2021-10-11 13:52:26 +03:00
Philip Withnall
cbb2a51a5b Merge branch 'dbus-launch-startup-id' into 'main'
gdesktopappinfo: Emit "launched" signal for D-Bus activation too

See merge request GNOME/glib!2227
2021-10-05 11:59:19 +00:00
Dušan Kazik
d5c9c05fe4 Update Slovak translation 2021-10-05 06:54:10 +00:00
Guido Günther
7665b748bb gappinfo: Add launch-started signal
Emit this when we're about to spawn or DBus activate a GAppInfo.  This
allows lauchers to keep the appinfo associated with a startup id.

We use a GVariant to allow for future exansion of the supplied data.
2021-10-04 10:29:08 +02:00
Guido Günther
5890b2bdea gdesktopappinfo: Emit "launched" and "launch-failed" signals for DBus activation too
When using g_desktop_app_info_launch_uris_as_manager the "launched"
signal allows to map a desktop-startup-id to a GAppInfo. Make this
possible for DBus activation too.

Since we don't have a PID there we pass a 0. Update the signal
description accordingly.
2021-10-04 10:29:08 +02:00
Guido Günther
bd7a3e2561 gappinfo: Modernize GAppInfo signals docs a bit
Use type::signal instead of ::signal so gtk-doc can create links and use
`` for variable names and GVariant type string bits.
2021-10-04 10:29:08 +02:00
Emmanuele Bassi
a0d2efdcb0 Merge branch '2498-io-module-annotations' into 'main'
giomodule: Skip introspection of two virtual plugin functions

Closes #2498

See merge request GNOME/glib!2279
2021-09-29 13:02:49 +00:00
Philip Withnall
24644208cf giomodule: Skip introspection of two virtual plugin functions
These should be implemented by loadable IO module libraries, but are not
callable in GLib itself.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Fixes: #2498
2021-09-29 13:36:04 +01:00
Philip Withnall
36408b119f Merge branch '2404-task-docs-main-context' into 'main'
gtask: Document dependency on GMainContext more explicitly

Closes #2404

See merge request GNOME/glib!2264
2021-09-28 12:47:50 +00:00
Philip Withnall
75c854b359 Merge branch 'main' into 'main'
Do not try to access errno after calling getpwnam_r.

Closes #2488

See merge request GNOME/glib!2274
2021-09-28 10:36:42 +00:00
Gleb Popov
709226d6f2 Do not try to access errno after calling getpwnam_r. 2021-09-28 10:36:42 +00:00
Philip Withnall
951402d243 Merge branch 'btj-main-patch-04927' into 'main'
g_simply_proxy_resolver_set_ignore_hosts: add missing GIR annotations

Closes #2496

See merge request GNOME/glib!2275
2021-09-28 10:24:49 +00:00
Bart Jacobs
1348b36dda g_simply_proxy_resolver_set_ignore_hosts: add missing GIR annotations 2021-09-28 10:24:48 +00:00
Simon McVittie
6ccb387197 Merge branch 'object-weak-ref-docs' into 'main'
gobject: Document it’s unsafe to call g_object_ref() from GWeakNotify

See merge request GNOME/glib!2246
2021-09-28 09:24:47 +00:00
eshagh shahidani
510763c283 Update Persian translation 2021-09-27 15:57:09 +00:00
Philip Withnall
4db9e24756 Merge branch 'main' into 'main'
fix uninitial variable

See merge request GNOME/glib!2266
2021-09-27 13:39:48 +00:00
Philip Withnall
60173d0a38 Merge branch 'xdgmime_update' into 'main'
Updating xdgmime

See merge request GNOME/glib!2029
2021-09-27 11:50:48 +00:00
liuyangming
2b8682191c fix uninitial variable 2021-09-27 18:35:37 +08:00
Fabio Tomat
1bfac1e474 Update Friulian translation
(cherry picked from commit a413d98d62)
2021-09-25 18:13:42 +00:00
eshagh shahidani
6e791f887e Update Persian translation 2021-09-25 10:17:37 +00:00
Philip Withnall
97d39b745f Merge branch 'fix_atomic_cast' into 'main'
Coerce type cast to void* because it causes compiler warnings

See merge request GNOME/glib!2114
2021-09-24 14:26:06 +00:00
Philip Withnall
ef72bed1c0 gtask: Document dependency on GMainContext more explicitly
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Fixes: #2404
2021-09-24 07:57:49 +01:00
Марко Костић
8f2a61f35f Update Serbian translation 2021-09-24 02:11:00 +00:00
Emmanuel Fleury
f304df34c7 Coerce type cast to void* because it causes compiler warnings
glib/gtestutils.c:4261:11: warning: incompatible pointer types passing 'gpointer *' (aka 'void **') to parameter of type 'GSList **' (aka 'struct _GSList **')
  while (!g_atomic_pointer_compare_and_exchange (test_filename_free_list, node->next, node));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
glib/gatomic.h:215:44: note: expanded from macro 'g_atomic_pointer_compare_and_exchange'
    __atomic_compare_exchange_n ((atomic), &gapcae_oldval, (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \
                                           ^~~~~~~~~~~~~~
2021-09-23 22:09:07 +02:00
Daniel Cheng
2f98cbe483 Remove function pointer casts when calling xdg_run_command_on_dirs().
The function pointer casts silence the compiler and allow the code to
build (and even run in the typical case). However, when building with
control flow integrity checks, the runtime (rightfully) complains about
calling a function via a mismatched function pointer type.
2021-09-23 21:56:21 +02:00
Philip Withnall
38869ece24 xdgmime: Prevent infinite loops from badly-formed MIME registrations
Signed-off-by: Philip Withnall <withnall@endlessm.com>

Closes: #1875
2021-09-23 19:23:33 +02:00
Philip Withnall
fa6f45536d xdgmime: Add xdg_mime_set_dirs() method to override XDG envvars
In order to make xdgmime properly relocatable so that unit tests can use
it without it reading and modifying the user’s actual xdgmime files, and
without the need to call setenv() (and get tied up with thread safety
problems), add a xdg_mime_set_dirs() method to allow the dirs to be
overridden. They will still default to the values of $XDG_DATA_HOME and
$XDG_DATA_DIRS.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2021-09-23 19:23:33 +02:00
Sébastien Wilmet
b765c7950c gio/xdgmime/: LGPLv2+ -> LGPLv2.1+
https://bugzilla.gnome.org/show_bug.cgi?id=776504
2021-09-23 19:23:33 +02:00
Руслан Ижбулатов
e4d1813368 xdgmime: Finer handling for cases where mmap() is not available
Allocate an empty cache object, check cache objects for being empty
before using them.
Otherwise the code will re-read cache every 5 seconds, as NULL cache
does not trigger the code that stores mtime, which makes the cache
file appear modified/unloaded permanently.

https://bugzilla.gnome.org/show_bug.cgi?id=735696
2021-09-23 19:23:33 +02:00
Matthias Clasen
e7822bd303 Silence an uninitialize variable warning 2021-09-23 19:23:33 +02:00
Matthias Clasen
14e46ca288 Don't compile some unused functions in gio/xdgmime/ 2021-09-23 19:23:33 +02:00
Matthias Clasen
a1bfe899ab Don't give up too early when collecting mime types
Since returning exactly one match has special significance, don't
give up matching before we've found at least 2 types. Also, make
sure that we don't return the same mime type more than once.
Bug 541236.
2021-09-23 19:23:33 +02:00
Simon McVittie
d099ac6ceb Merge branch '2401-object-manager-warning' into 'main'
gdbusobjectmanagerclient: Don’t warn if removing an interface fails

Closes #2401

See merge request GNOME/glib!2263
2021-09-23 10:24:26 +00:00
Emmanuel Fleury
b4893986b0 Force to use the config.h header file (required for HAVE_MMAP macro) 2021-09-23 11:32:02 +02:00
Emmanuel Fleury
3d2ac608de Update gio/xdgmime with commit 722325f of xdgmime project 2021-09-23 11:32:02 +02:00
Philip Withnall
3b4a34c29a gdbusobjectmanagerclient: Remove an unused label
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2021-09-22 18:39:46 +01:00
Philip Withnall
8d82453cf1 gdbusobjectmanagerclient: Don’t warn if removing an interface fails
If an `InterfacesRemoved` signal is received for an object which doesn’t
exist in the local map of interfaces, don’t emit a warning.

This seems to happen in the real world (see #2401). Without a trace of
the D-Bus traffic it’s not possible to know exactly what situation is
causing this, but it seems possible that the peer could disappear and
its `notify::name-owner` signal could be processed before its
`InterfacesRemoved` signal, or something similar.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Fixes: #2401
2021-09-22 18:34:08 +01:00
Philip Withnall
1176835ce3 Merge branch 'gitlab-ci-provide-built-dlls' into 'main'
Provide built DLLs as Gitlab-CI artifacts

To be clear, these are for testing purposes, and are not
supported releases.

See merge request GNOME/glib!2261
2021-09-22 14:23:19 +00:00
Michael Catanzaro
969a26378b Merge branch 'fix_pw_name_segfault' into 'main'
gutils: Avoid segfault in g_get_user_database_entry

See merge request GNOME/glib!2244
2021-09-22 12:46:00 +00:00
Jamie Bainbridge
bb40105fe9 gutils: Avoid segfault in g_get_user_database_entry
g_get_user_database_entry() capitalises the first letter of pw_name
with g_ascii_toupper (pw->pw_name[0]).

However, the manpage for getpwnam() and getpwuid() says the result of
those calls "may point to a static area". GLib is then trying to edit
static memory which belongs to a shared library, so segfaults.

The reentrant variants of the above calls are supposed to fill the user
buffer supplied to them, however Michael Catanzaro also found a bug in
systemd where the data is not copied to the user buffer and still points
to static memory, resulting in the same sort of segfault. See:
https://github.com/systemd/systemd/issues/20679

Solve both these cases in GLib by copying pw_name off to a temporary
variable, set uppercase on that variable, and use the variable to join
into the desired string. Free the variable after it is no longer needed.

Signed-off-by: Jamie Bainbridge <jamie.bainbridge@gmail.com>
2021-09-22 11:40:45 +10:00