mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
* posix/glob.c (glob_in_dir): Add some comments and asserts to
explain why there are no leaks.
This commit is contained in:
parent
690c3947ed
commit
f01e40699c
@ -1,3 +1,8 @@
|
||||
2006-09-30 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* posix/glob.c (glob_in_dir): Add some comments and asserts to
|
||||
explain why there are no leaks.
|
||||
|
||||
2006-09-29 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* libio/wmemstream.c: Include <wchar.h>.
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <wchar.h>
|
||||
|
||||
|
||||
static int
|
||||
|
@ -1,3 +1,5 @@
|
||||
#include <wchar.h>
|
||||
|
||||
#define CHAR_T wchar_t
|
||||
#define W(o) L##o
|
||||
#define OPEN_MEMSTREAM open_wmemstream
|
||||
|
@ -1,3 +1,5 @@
|
||||
#include <wchar.h>
|
||||
|
||||
#define CHAR_T wchar_t
|
||||
#define W(o) L##o
|
||||
#define OPEN_MEMSTREAM open_wmemstream
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include "strfile.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <wchar.h>
|
||||
|
||||
|
||||
struct _IO_FILE_wmemstream
|
||||
|
14
posix/glob.c
14
posix/glob.c
@ -1287,8 +1287,15 @@ glob_in_dir (const char *pattern, const char *directory, int flags,
|
||||
for (size_t i = 0; i < cur; ++i)
|
||||
free (names->name[i]);
|
||||
names = names->next;
|
||||
/* NB: we will not leak memory here if we exit without
|
||||
freeing the current block assigned to OLD. At least
|
||||
the very first block is always allocated on the stack
|
||||
and this is the block assigned to OLD here. */
|
||||
if (names == NULL)
|
||||
{
|
||||
assert (old == &init_names);
|
||||
break;
|
||||
}
|
||||
cur = names->count;
|
||||
if (old == names_alloca)
|
||||
names_alloca = names;
|
||||
@ -1306,8 +1313,15 @@ glob_in_dir (const char *pattern, const char *directory, int flags,
|
||||
new_gl_pathv[pglob->gl_offs + pglob->gl_pathc++]
|
||||
= names->name[i];
|
||||
names = names->next;
|
||||
/* NB: we will not leak memory here if we exit without
|
||||
freeing the current block assigned to OLD. At least
|
||||
the very first block is always allocated on the stack
|
||||
and this is the block assigned to OLD here. */
|
||||
if (names == NULL)
|
||||
{
|
||||
assert (old == &init_names);
|
||||
break;
|
||||
}
|
||||
cur = names->count;
|
||||
if (old == names_alloca)
|
||||
names_alloca = names;
|
||||
|
Loading…
Reference in New Issue
Block a user