deltas: Handle cleanup of fd array properly
If there's an early error, part_temp_fds will be NULL and dereferencing the len member will segfault. Closes: #454 Closes: #448 Approved by: cgwalters
This commit is contained in:
1 parent
07ec35ef03
commit
1e5ff71c49
1 file changed
+8
-7
@@ -1584,13 +1584,14 @@ ostree_repo_static_delta_generate (OstreeRepo *self,
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
for (i = 0; i < part_temp_fds->len; i++)
|
||||
{
|
||||
int fd = g_array_index (part_temp_fds, int, i);
|
||||
if (fd == -1)
|
||||
continue;
|
||||
(void) close (fd);
|
||||
}
|
||||
if (part_temp_fds)
|
||||
for (i = 0; i < part_temp_fds->len; i++)
|
||||
{
|
||||
int fd = g_array_index (part_temp_fds, int, i);
|
||||
if (fd == -1)
|
||||
continue;
|
||||
(void) close (fd);
|
||||
}
|
||||
g_clear_pointer (&builder.parts, g_ptr_array_unref);
|
||||
g_clear_pointer (&builder.fallback_objects, g_ptr_array_unref);
|
||||
return ret;
|
||||
|
||||
Reference in new issue
Block a user