diff --git a/bashline.c b/bashline.c index c85b05b6..81010b68 100644 --- a/bashline.c +++ b/bashline.c @@ -1670,8 +1670,7 @@ attempt_shell_completion (text, start, end) char *n; /* XXX - don't free the members */ - if (prog_complete_matches) - free (prog_complete_matches); + free (prog_complete_matches); prog_complete_matches = (char **)NULL; os = start; @@ -1991,8 +1990,7 @@ command_word_completion_function (hint_text, state) if (dequoted_hint && dequoted_hint != hint) free (dequoted_hint); - if (hint) - free (hint); + free (hint); mapping_over = searching_path = 0; hint_is_dir = CMD_IS_DIR (hint_text); @@ -2056,8 +2054,7 @@ command_word_completion_function (hint_text, state) } hint_len = strlen (hint); - if (filename_hint) - free (filename_hint); + free (filename_hint); fnhint = filename_hint = savestring (hint); @@ -2093,14 +2090,12 @@ command_word_completion_function (hint_text, state) /* Initialize the variables for each type of command word. */ local_index = 0; - if (varlist) - free (varlist); + free (varlist); varlist = all_visible_functions (); #if defined (ALIAS) - if (alias_list) - free (alias_list); + free (alias_list); alias_list = all_aliases (); #endif /* ALIAS */ @@ -2273,8 +2268,7 @@ globword: if (fnhint && fnhint != filename_hint) free (fnhint); - if (filename_hint) - free (filename_hint); + free (filename_hint); filename_hint = sh_makepath (current_path, hint, 0); /* Need a quoted version (though it doesn't matter much in most @@ -2409,8 +2403,7 @@ command_subst_completion_function (text, state) if (state == 0) { - if (filename_text) - free (filename_text); + free (filename_text); orig_start = text; if (*text == '`') text++; @@ -2421,8 +2414,7 @@ command_subst_completion_function (text, state) rl_completion_suppress_quote = 1; start_len = text - orig_start; filename_text = savestring (text); - if (matches) - free (matches); + free (matches); /* * At this point we can entertain the idea of re-parsing @@ -2491,8 +2483,7 @@ variable_completion_function (text, state) if (!state) { - if (varname) - free (varname); + free (varname); first_char_loc = 0; first_char = text[0]; diff --git a/builtins/common.c b/builtins/common.c index 19b00c4d..b047c44d 100644 --- a/builtins/common.c +++ b/builtins/common.c @@ -434,8 +434,7 @@ shift_args (times) while (times-- > 0) { - if (dollar_vars[1]) - free (dollar_vars[1]); + free (dollar_vars[1]); for (count = 1; count < 9; count++) dollar_vars[count] = dollar_vars[count + 1]; diff --git a/builtins/mkbuiltins.c b/builtins/mkbuiltins.c index f505ebde..350d8bbd 100644 --- a/builtins/mkbuiltins.c +++ b/builtins/mkbuiltins.c @@ -261,8 +261,7 @@ main (argc, argv) { int len; - if (error_directory) - free (error_directory); + free (error_directory); error_directory = xmalloc (2 + strlen (argv[arg_index])); strcpy (error_directory, argv[arg_index]); @@ -448,9 +447,7 @@ void array_free (array) ARRAY *array; { - if (array->array) - free (array->array); - + free (array->array); free (array); } @@ -695,8 +692,7 @@ free_defs (defs) register int i; register BUILTIN_DESC *builtin; - if (defs->production) - free (defs->production); + free (defs->production); if (defs->lines) array_free (defs->lines); diff --git a/examples/loadables/csv.c b/examples/loadables/csv.c index 75b37725..de7564a2 100644 --- a/examples/loadables/csv.c +++ b/examples/loadables/csv.c @@ -96,8 +96,7 @@ csvsplit (csv, line, dstring) } while (delim == *dstring); - if (xbuf) - free (xbuf); + free (xbuf); return (rval = ind); /* number of fields */ } diff --git a/examples/loadables/dsv.c b/examples/loadables/dsv.c index 70e59cbc..187ef685 100644 --- a/examples/loadables/dsv.c +++ b/examples/loadables/dsv.c @@ -156,8 +156,7 @@ dsvsplit (dsv, line, dstring, flags) } while (delim == *dstring); - if (xbuf) - free (xbuf); + free (xbuf); return (rval = ind); /* number of fields */ } diff --git a/execute_cmd.c b/execute_cmd.c index e5c6b9ab..b3b0aa31 100644 --- a/execute_cmd.c +++ b/execute_cmd.c @@ -5527,8 +5527,7 @@ execute_builtin_or_function (words, builtin, var, redirects, nfifo = num_fifos (); if (nfifo > ofifo) close_new_fifos (ofifo_list, osize); - if (ofifo_list) - free (ofifo_list); + free (ofifo_list); discard_unwind_frame ("saved_fifos"); #endif diff --git a/expr.c b/expr.c index 5079bd47..362c531d 100644 --- a/expr.c +++ b/expr.c @@ -304,12 +304,8 @@ expr_unwind () { while (--expr_depth > 0) { - if (expr_stack[expr_depth]->tokstr) - free (expr_stack[expr_depth]->tokstr); - - if (expr_stack[expr_depth]->expression) - free (expr_stack[expr_depth]->expression); - + free (expr_stack[expr_depth]->tokstr); + free (expr_stack[expr_depth]->expression); free (expr_stack[expr_depth]); } if (expr_depth == 0) diff --git a/input.c b/input.c index 7b439f8c..46ce19ab 100644 --- a/input.c +++ b/input.c @@ -430,8 +430,7 @@ free_buffered_stream (bp) return; n = bp->b_fd; - if (bp->b_buffer) - free (bp->b_buffer); + free (bp->b_buffer); free (bp); buffers[n] = (BUFFERED_STREAM *)NULL; } diff --git a/lib/glob/glob.c b/lib/glob/glob.c index b66af85c..5ec432d0 100644 --- a/lib/glob/glob.c +++ b/lib/glob/glob.c @@ -1575,7 +1575,7 @@ only_filename: free ((char *) result); } - if (free_dirname && directory_name) + if (free_dirname) free (directory_name); QUIT; diff --git a/lib/glob/xmbsrtowcs.c b/lib/glob/xmbsrtowcs.c index 17250c30..6f7c6803 100644 --- a/lib/glob/xmbsrtowcs.c +++ b/lib/glob/xmbsrtowcs.c @@ -43,7 +43,7 @@ extern int errno; #define WSBUF_INC 32 #ifndef FREE -# define FREE(x) do { if (x) free (x); } while (0) +# define FREE(x) do { free (x); } while (0) #endif #if ! HAVE_STRCHRNUL @@ -93,8 +93,7 @@ xmbsrtowcs (dest, src, len, pstate) wclength = mbsrtowcs (wsbuf, &mbs, n, &psbuf); - if (wsbuf) - free (wsbuf); + free (wsbuf); return wclength; } diff --git a/lib/intl/bindtextdom.c b/lib/intl/bindtextdom.c index ef5479e3..21ab4b99 100644 --- a/lib/intl/bindtextdom.c +++ b/lib/intl/bindtextdom.c @@ -206,8 +206,7 @@ set_binding_values (domainname, dirnamep, codesetp) if (__builtin_expect (result != NULL, 1)) { - if (binding->codeset != NULL) - free (binding->codeset); + free (binding->codeset); binding->codeset = result; binding->codeset_cntr++; diff --git a/lib/intl/loadmsgcat.c b/lib/intl/loadmsgcat.c index adbd7b4f..8e627981 100644 --- a/lib/intl/loadmsgcat.c +++ b/lib/intl/loadmsgcat.c @@ -1287,8 +1287,7 @@ _nl_load_domain (domain_file, domainbinding) /* This is an invalid revision. */ invalid: /* This is an invalid .mo file. */ - if (domain->malloced) - free (domain->malloced); + free (domain->malloced); #ifdef HAVE_MMAP if (use_mmap) munmap ((caddr_t) data, size); @@ -1321,8 +1320,7 @@ _nl_unload_domain (domain) _nl_free_domain_conv (domain); - if (domain->malloced) - free (domain->malloced); + free (domain->malloced); # ifdef _POSIX_MAPPED_FILES if (domain->use_mmap) diff --git a/lib/intl/localcharset.c b/lib/intl/localcharset.c index 6983d0bf..949a4917 100644 --- a/lib/intl/localcharset.c +++ b/lib/intl/localcharset.c @@ -200,7 +200,6 @@ get_charset_aliases () } } - if (file_name != NULL) free (file_name); #else diff --git a/lib/malloc/xmalloc.c b/lib/malloc/xmalloc.c index f6dec67a..8c589633 100644 --- a/lib/malloc/xmalloc.c +++ b/lib/malloc/xmalloc.c @@ -89,6 +89,5 @@ void xfree (string) PTR_T string; { - if (string) - free (string); + free (string); } diff --git a/lib/readline/util.c b/lib/readline/util.c index 2e986db0..67c38d13 100644 --- a/lib/readline/util.c +++ b/lib/readline/util.c @@ -450,8 +450,7 @@ FUNCTION_FOR_MACRO (_rl_uppercase_p) void rl_free (void *mem) { - if (mem) - free (mem); + free (mem); } /* Backwards compatibility, now that savestring has been removed from diff --git a/lib/readline/xfree.c b/lib/readline/xfree.c index c199b29b..8024bcc3 100644 --- a/lib/readline/xfree.c +++ b/lib/readline/xfree.c @@ -44,6 +44,5 @@ void xfree (PTR_T string) { - if (string) - free (string); + free (string); } diff --git a/lib/sh/fpurge.c b/lib/sh/fpurge.c index 8cd4e368..de900f3c 100644 --- a/lib/sh/fpurge.c +++ b/lib/sh/fpurge.c @@ -159,11 +159,8 @@ fpurge (FILE *fp) fp->_IO_read_end = fp->_IO_read_ptr; fp->_IO_write_ptr = fp->_IO_write_base; /* Avoid memory leak when there is an active ungetc buffer. */ - if (fp->_IO_save_base != NULL) - { - free (fp->_IO_save_base); - fp->_IO_save_base = NULL; - } + free (fp->_IO_save_base); + fp->_IO_save_base = NULL; return 0; # elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ fp_->_p = fp_->_bf._base; diff --git a/lib/sh/snprintf.c b/lib/sh/snprintf.c index 1f0f4c73..fc512570 100644 --- a/lib/sh/snprintf.c +++ b/lib/sh/snprintf.c @@ -1836,8 +1836,7 @@ static void xfree(x) void *x; { - if (x) - free (x); + free (x); } /* set of small tests for snprintf() */ diff --git a/lib/sh/timers.c b/lib/sh/timers.c index 69b754c9..81f254dd 100644 --- a/lib/sh/timers.c +++ b/lib/sh/timers.c @@ -44,7 +44,7 @@ extern int errno; #endif /* !errno */ #ifndef FREE -#define FREE(s) do { if (s) free (s); } while (0) +#define FREE(s) do { free (s); } while (0) #endif extern unsigned int falarm (unsigned int, unsigned int); diff --git a/mailcheck.c b/mailcheck.c index 4a11143c..bd6e8318 100644 --- a/mailcheck.c +++ b/mailcheck.c @@ -239,8 +239,7 @@ free_mail_files () for (i = 0; i < mailfiles_count; i++) dispose_mail_file (mailfiles[i]); - if (mailfiles) - free (mailfiles); + free (mailfiles); mailfiles_count = 0; mailfiles = (FILEINFO **)NULL; diff --git a/nojobs.c b/nojobs.c index b7504cd8..3a0a23a6 100644 --- a/nojobs.c +++ b/nojobs.c @@ -499,8 +499,7 @@ make_child (command, flags) sigset_t set, oset; /* Discard saved memory. */ - if (command) - free (command); + free (command); async_p = (flags & FORK_ASYNC); start_pipeline (); diff --git a/subst.c b/subst.c index 93b91606..f5daaabf 100644 --- a/subst.c +++ b/subst.c @@ -5971,8 +5971,7 @@ clear_fifo_list () for (i = 0; i < fifo_list_size; i++) { - if (fifo_list[i].file) - free (fifo_list[i].file); + free (fifo_list[i].file); fifo_list[i].file = NULL; fifo_list[i].proc = 0; } diff --git a/support/man2html.c b/support/man2html.c index e6f441b4..226cd968 100644 --- a/support/man2html.c +++ b/support/man2html.c @@ -1243,8 +1243,7 @@ clear_table(TABLEROW * table) ti1 = tr1->first; while (ti1) { ti2 = ti1->next; - if (ti1->contents) - free(ti1->contents); + free(ti1->contents); free(ti1); ti1 = ti2; } @@ -1558,8 +1557,9 @@ scan_table(char *c) do { curfield = curfield->next; } while (curfield && curfield->align == 'S'); - } else if (g) + } else { free(g); + } if (c[-1] == '\n') { currow = next_row(currow); curfield = currow->first; @@ -1618,8 +1618,9 @@ scan_table(char *c) do { curfield = curfield->next; } while (curfield && curfield->align == 'S'); - } else if (g) + } else { free(g); + } } if (i) *c = itemsep; @@ -1818,10 +1819,8 @@ scan_expression(char *c, int *result) value = 0; else value = (!strcmp(st1, st2)); - if (st1) - free(st1); - if (st2) - free(st2); + free(st1); + free(st2); if (tcmp) c = c + 3; c++; @@ -2137,8 +2136,7 @@ add_to_index(int level, char *item) subs = level; scan_troff(item, 1, &c); sprintf(manidx + mip, "
%s
\n", label, c); - if (c) - free(c); + free(c); while (manidx[mip]) mip++; } @@ -2266,8 +2264,7 @@ scan_request(char *c) de->st = NULL; strdef = de; } else { - if (de->st) - free(de->st); + free(de->st); de->slen = 0; de->st = NULL; } @@ -2600,8 +2597,7 @@ scan_request(char *c) buf[l + 1] = buf[l + 2] = '\0'; scan_troff(buf + 1, 0, NULL); } - if (buf) - free(buf); + free(buf); } *c++ = '\n'; break; @@ -2968,8 +2964,7 @@ scan_request(char *c) while (de && de->nr != j) de = de->next; if (de) { - if (de->st) - free(de->st); + free(de->st); de->nr = 0; } de = strdef; @@ -3069,8 +3064,7 @@ scan_request(char *c) } h[j] = '\0'; if (de) { - if (de->st) - free(de->st); + free(de->st); de->st = h; } else { de = (STRDEF *) xmalloc(sizeof(STRDEF)); @@ -3702,8 +3696,7 @@ scan_request(char *c) newline_for_fun = onff; argument = oldargument; for (i = 0; i < words; i++) - if (wordlist[i]) - free(wordlist[i]); + free(wordlist[i]); *sl = '\n'; } else if (mandoc_command && ((isupper(*c) && islower(*(c + 1))) diff --git a/variables.c b/variables.c index 1a0c2c45..0055f31d 100644 --- a/variables.c +++ b/variables.c @@ -3373,7 +3373,7 @@ bind_variable_value (var, value, aflags) make_variable_value */ t = (aflags & ASS_APPEND) ? make_variable_value (var, value, aflags) : value; (*(var->assign_func)) (var, t, -1, 0); - if (t != value && t) + if (t != value) free (t); } else diff --git a/xmalloc.c b/xmalloc.c index 1b3b4088..b60d6925 100644 --- a/xmalloc.c +++ b/xmalloc.c @@ -146,8 +146,7 @@ void xfree (string) PTR_T string; { - if (string) - free (string); + free (string); } #ifdef USING_BASH_MALLOC