X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=utilities%2Fpspp-dump-sav.c;h=4a44e490574aa7427a4c0fb3eff95d358926184d;hb=0fc5008fc2f659d8687475bb68dea50c583a9549;hp=1d8d78c87739a9fbd999f952a8137b567698e19d;hpb=bcac9faa921fc6902abf6fbf4743f661fc8a5375;p=pspp diff --git a/utilities/pspp-dump-sav.c b/utilities/pspp-dump-sav.c index 1d8d78c877..4a44e49057 100644 --- a/utilities/pspp-dump-sav.c +++ b/utilities/pspp-dump-sav.c @@ -236,6 +236,8 @@ main (int argc, char *argv[]) else if (r.compression == COMP_ZLIB) read_zlib_compressed_data (&r); + free (r.var_widths); + fclose (r.file); } @@ -1018,6 +1020,8 @@ read_character_encoding (struct sfm_reader *r, size_t size, size_t count) read_string (r, encoding, count + 1); printf ("%08llx: Character Encoding: %s\n", posn, encoding); + + free (encoding); } static void @@ -1227,7 +1231,7 @@ read_simple_compressed_data (struct sfm_reader *r, int max_cases) { printf ("%08llx: case %d's uncompressible data begins\n", (long long int) ftello (r->file), case_num); - for (i = 0; i < r->n_var_widths; ) + for (i = 0; i < r->n_var_widths;) { int width = r->var_widths[i]; char raw_value[8]; @@ -1403,7 +1407,7 @@ open_text_record (struct sfm_reader *r, size_t size, size_t count) size_t n_bytes = size * count; char *buffer = xmalloc (n_bytes + 1); read_bytes (r, buffer, n_bytes); - buffer[size] = '\0'; + buffer[n_bytes] = '\0'; text->reader = r; text->buffer = buffer; text->size = n_bytes;