diff options
author | DJ Delorie <dj@redhat.com> | 2011-04-20 19:06:46 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2011-04-20 19:06:46 +0000 |
commit | 4ff224cb8d9347245ffea0f5853d862f0574452e (patch) | |
tree | f0ad924656bb6f1332030f73e18939949db327f0 /libiberty | |
parent | e7782cf63b834cc4c4d159dcb6e3a9908b12432f (diff) | |
download | fsf-binutils-gdb-4ff224cb8d9347245ffea0f5853d862f0574452e.zip fsf-binutils-gdb-4ff224cb8d9347245ffea0f5853d862f0574452e.tar.gz fsf-binutils-gdb-4ff224cb8d9347245ffea0f5853d862f0574452e.tar.bz2 |
merge from gcc
Diffstat (limited to 'libiberty')
-rw-r--r-- | libiberty/ChangeLog | 13 | ||||
-rw-r--r-- | libiberty/cp-demint.c | 6 | ||||
-rw-r--r-- | libiberty/cplus-dem.c | 3 | ||||
-rw-r--r-- | libiberty/pex-common.c | 9 | ||||
-rw-r--r-- | libiberty/pex-msdos.c | 6 | ||||
-rw-r--r-- | libiberty/pex-win32.c | 24 | ||||
-rw-r--r-- | libiberty/regex.c | 11 | ||||
-rw-r--r-- | libiberty/spaces.c | 5 |
8 files changed, 34 insertions, 43 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index a15ffa5..0e88ea3 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,16 @@ +2011-04-20 Jim Meyering <meyering@redhat.com> + + * cp-demint.c (cplus_demangle_v3_components): Remove useless + if-before-free. + * cplus-dem.c (squangle_mop_up): Likewise. + (delete_non_B_K_work_stuff): Likewise. + * pex-common.c (pex_free): Likewise. + * pex-msdos.c (pex_msdos_cleanup): Likewise. + * pex-win32.c (mingw_rootify, msys_rootify): Likewise. + (win32_spawn): Likewise. + * regex.c (FREE_VAR, weak_alias): Likewise. + * spaces.c (spaces): Likewise. + 2011-04-10 Jim Meyering <meyering@redhat.com> Avoid memory overrun in a test leading to potential double-free. diff --git a/libiberty/cp-demint.c b/libiberty/cp-demint.c index 2e8f8d2..1d1a77a 100644 --- a/libiberty/cp-demint.c +++ b/libiberty/cp-demint.c @@ -206,10 +206,8 @@ cplus_demangle_v3_components (const char *mangled, int options, void **mem) malloc (di.num_subs * sizeof (struct demangle_component *))); if (di.comps == NULL || di.subs == NULL) { - if (di.comps != NULL) - free (di.comps); - if (di.subs != NULL) - free (di.subs); + free (di.comps); + free (di.subs); return NULL; } diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c index 84f94b6..e948487 100644 --- a/libiberty/cplus-dem.c +++ b/libiberty/cplus-dem.c @@ -1311,8 +1311,7 @@ delete_non_B_K_work_stuff (struct work_stuff *work) int i; for (i = 0; i < work->ntmpl_args; i++) - if (work->tmpl_argvec[i]) - free ((char*) work->tmpl_argvec[i]); + free ((char*) work->tmpl_argvec[i]); free ((char*) work->tmpl_argvec); work->tmpl_argvec = NULL; diff --git a/libiberty/pex-common.c b/libiberty/pex-common.c index 55b63ae..6fd3fde 100644 --- a/libiberty/pex-common.c +++ b/libiberty/pex-common.c @@ -623,12 +623,9 @@ pex_free (struct pex_obj *obj) if (obj->next_input_name_allocated) free (obj->next_input_name); - if (obj->children != NULL) - free (obj->children); - if (obj->status != NULL) - free (obj->status); - if (obj->time != NULL) - free (obj->time); + free (obj->children); + free (obj->status); + free (obj->time); if (obj->remove_count > 0) { diff --git a/libiberty/pex-msdos.c b/libiberty/pex-msdos.c index 4b77bf6..fa0f40a 100644 --- a/libiberty/pex-msdos.c +++ b/libiberty/pex-msdos.c @@ -310,10 +310,8 @@ pex_msdos_cleanup (struct pex_obj *obj) ms = (struct pex_msdos *) obj->sysdep; for (i = 0; i < PEX_MSDOS_FILE_COUNT; ++i) - if (msdos->files[i] != NULL) - free (msdos->files[i]); - if (msdos->statuses != NULL) - free (msdos->statuses); + free (msdos->files[i]); + free (msdos->statuses); free (msdos); obj->sysdep = NULL; } diff --git a/libiberty/pex-win32.c b/libiberty/pex-win32.c index 4427406..107ac6f 100644 --- a/libiberty/pex-win32.c +++ b/libiberty/pex-win32.c @@ -210,10 +210,8 @@ mingw_rootify (const char *executable) if (!namebuf || !foundbuf) { RegCloseKey (hKey); - if (namebuf) - free (namebuf); - if (foundbuf) - free (foundbuf); + free (namebuf); + free (foundbuf); return executable; } @@ -315,8 +313,7 @@ msys_rootify (const char *executable) return tack_on_executable (buf, executable); /* failed */ - if (buf) - free (buf); + free (buf); return executable; } #endif @@ -607,8 +604,7 @@ win32_spawn (const char *executable, si, pi)) { - if (env_block) - free (env_block); + free (env_block); free (full_executable); @@ -618,18 +614,14 @@ win32_spawn (const char *executable, /* Clean up. */ CloseHandle (pi->hThread); free (full_executable); - if (env_block) - free (env_block); + free (env_block); return (pid_t) pi->hProcess; error: - if (env_block) - free (env_block); - if (cmdline) - free (cmdline); - if (full_executable) - free (full_executable); + free (env_block); + free (cmdline); + free (full_executable); return (pid_t) -1; } diff --git a/libiberty/regex.c b/libiberty/regex.c index 420c7f4..d65eedb 100644 --- a/libiberty/regex.c +++ b/libiberty/regex.c @@ -4970,7 +4970,7 @@ weak_alias (__re_search_2, re_search_2) #ifdef MATCH_MAY_ALLOCATE # define FREE_VAR(var) if (var) REGEX_FREE (var); var = NULL #else -# define FREE_VAR(var) if (var) free (var); var = NULL +# define FREE_VAR(var) free (var); var = NULL #endif #ifdef WCHAR @@ -8111,20 +8111,17 @@ weak_alias (__regerror, regerror) void regfree (regex_t *preg) { - if (preg->buffer != NULL) - free (preg->buffer); + free (preg->buffer); preg->buffer = NULL; preg->allocated = 0; preg->used = 0; - if (preg->fastmap != NULL) - free (preg->fastmap); + free (preg->fastmap); preg->fastmap = NULL; preg->fastmap_accurate = 0; - if (preg->translate != NULL) - free (preg->translate); + free (preg->translate); preg->translate = NULL; } #ifdef _LIBC diff --git a/libiberty/spaces.c b/libiberty/spaces.c index 67481c9..69d7a2d 100644 --- a/libiberty/spaces.c +++ b/libiberty/spaces.c @@ -53,10 +53,7 @@ spaces (int count) if (count > maxsize) { - if (buf) - { - free (buf); - } + free (buf); buf = (char *) malloc (count + 1); if (buf == (char *) 0) return 0; |