diff --git a/src/args.c b/src/args.c index 75934f6..5a37883 100644 --- a/src/args.c +++ b/src/args.c @@ -156,7 +156,7 @@ buildargv(const char *input, int *_argc, char *appname) if (argc >= (maxargc - 1)) { maxargc *= 2; - argv = (char **) realloc(argv, maxargc * sizeof (char *)); + argv = (char **) srealloc(argv, maxargc * sizeof (char *)); argv[argc] = NULL; } @@ -524,7 +524,7 @@ readargs(char **argv, case 31: { char *nullstr; - int size; + int size = strlen(optarg); nullstr = trim_quoted_str(optarg, &size); if (size > 255) diff --git a/src/pretty-csv.c b/src/pretty-csv.c index c73af29..8552b16 100644 --- a/src/pretty-csv.c +++ b/src/pretty-csv.c @@ -1470,6 +1470,8 @@ read_and_format(Options *opts, DataDesc *desc, StateData *state) if (query != opts->query) free(query); + free(linebuf.buffer); + return false; } } @@ -1478,6 +1480,8 @@ read_and_format(Options *opts, DataDesc *desc, StateData *state) if (!f_data) { format_error("missing data"); + free(linebuf.buffer); + return false; } @@ -1494,6 +1498,8 @@ read_and_format(Options *opts, DataDesc *desc, StateData *state) if (!f_data) { format_error("missing data"); + free(linebuf.buffer); + return false; } diff --git a/src/pspg.c b/src/pspg.c index 6ced17c..a26a60e 100644 --- a/src/pspg.c +++ b/src/pspg.c @@ -1991,10 +1991,10 @@ export_to_file(PspgCommand command, rows = (int) percent; percent = 0.0; } - } - strncpy(last_rows_number, number, sizeof(last_rows_number) - 1); - last_rows_number[sizeof(last_rows_number) - 1] = '\0'; + strncpy(last_rows_number, number, sizeof(last_rows_number) - 1); + last_rows_number[sizeof(last_rows_number) - 1] = '\0'; + } } if (copy_to_file) diff --git a/src/table.c b/src/table.c index 47ca754..6514002 100644 --- a/src/table.c +++ b/src/table.c @@ -436,9 +436,17 @@ _getline(char **lineptr, size_t *n, FILE *fp, bool is_nonblocking, bool wait_on_ if (dynbuf) { - dynbuf = realloc(dynbuf, fetched_chars + len + 1); - if (!dynbuf) + char *_dynbuf; + + _dynbuf = realloc(dynbuf, fetched_chars + len + 1); + if (!_dynbuf) + { + free(_dynbuf); return -1; + } + else + dynbuf = _dynbuf; + memcpy(dynbuf + fetched_chars, statbuf, len + 1); fetched_chars += len; } diff --git a/src/theme_loader.c b/src/theme_loader.c index 1667bb6..134fec6 100644 --- a/src/theme_loader.c +++ b/src/theme_loader.c @@ -458,6 +458,8 @@ theme_loader(FILE *theme, PspgThemeElement te; te.attr = 0; + te.fg = PspgWhite; + te.bg = PspgBlack; _token = ThemeLoaderGetToken(&tokenizer, &token); if (_token)