X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=utilities%2Fpspp-dump-sav.c;h=4a44e490574aa7427a4c0fb3eff95d358926184d;hb=a24e86e3e941804ca6b9a70cff5c6ae5f02e6daf;hp=b0001ac61fa471b95474c882a41b20f2a9ca587e;hpb=abd1f816ca3b4f382bddf4564ad092aa934f0ccc;p=pspp diff --git a/utilities/pspp-dump-sav.c b/utilities/pspp-dump-sav.c index b0001ac61f..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); } @@ -401,7 +403,7 @@ read_variable_record (struct sfm_reader *r) char name[9]; printf ("%08llx: variable record #%d\n", - (long long int) ftello (r->file), r->n_variable_records++); + (long long int) ftello (r->file), ++r->n_variable_records); width = read_int (r); has_variable_label = read_int (r); @@ -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;