pull: fix GLNX_HASH_TABLE_FOREACH_KV regressions

These are regression from #971. We were stuffing a pointer size inside a
variable of integer size. So the assignment was spilling over into other
variables' storage space. Actually use a gpointer and GPOINTER_TO_[U]INT
as was done originally.

Also bump libglnx which has static checks for this error in the future.

Update submodule: libglnx

Closes: #990
Approved by: cgwalters
This commit is contained in:
Jonathan Lebon 2017-06-30 09:01:56 -07:00 committed by Atomic Bot
parent acace571ef
commit d5dd576d20
3 changed files with 6 additions and 4 deletions

@ -1 +1 @@
Subproject commit 01e934c18efdbac071ebc19a8a95916d324970c9
Subproject commit a37e672739197b8a7f3bdfe3f17099fe402f9a98

View File

@ -1091,9 +1091,9 @@ ostree_repo_checkout_gc (OstreeRepo *self,
if (!to_clean_dirs)
return TRUE; /* Note early return */
GLNX_HASH_TABLE_FOREACH (to_clean_dirs, guint, prefix)
GLNX_HASH_TABLE_FOREACH (to_clean_dirs, gpointer, prefix)
{
g_autofree char *objdir_name = g_strdup_printf ("%02x", prefix);
g_autofree char *objdir_name = g_strdup_printf ("%02x", GPOINTER_TO_UINT (prefix));
g_auto(GLnxDirFdIterator) dfd_iter = { 0, };
if (!glnx_dirfd_iterator_init_at (self->uncompressed_objects_dir_fd, objdir_name, FALSE,

View File

@ -4948,8 +4948,10 @@ ostree_repo_pull_from_remotes_async (OstreeRepo *self,
/* Any refs left un-downloaded? If so, weve failed. */
GLNX_HASH_TABLE_FOREACH_KV (refs_pulled, const OstreeCollectionRef*, ref,
gboolean, is_pulled)
gpointer, is_pulled_pointer)
{
gboolean is_pulled = GPOINTER_TO_INT (is_pulled_pointer);
if (is_pulled)
continue;