From: Ben Pfaff Date: Wed, 19 Mar 2014 03:49:35 +0000 (-0700) Subject: pspp-dump-sav: Dump labels longer than 255 bytes. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp;a=commitdiff_plain;h=d4e806c460a7656675deacda8a4ad2eafe6eaea9 pspp-dump-sav: Dump labels longer than 255 bytes. --- diff --git a/utilities/pspp-dump-sav.c b/utilities/pspp-dump-sav.c index e58bc254ec..c194f23050 100644 --- a/utilities/pspp-dump-sav.c +++ b/utilities/pspp-dump-sav.c @@ -444,18 +444,16 @@ read_variable_record (struct sfm_reader *r) if (has_variable_label == 1) { long long int offset = ftello (r->file); - size_t len, read_len; - char label[255 + 1]; + size_t len; + char *label; len = read_int (r); /* Read up to 255 bytes of label. */ - read_len = MIN (sizeof label - 1, len); - read_string (r, label, read_len + 1); + label = xmalloc (len + 1); + read_string (r, label, len + 1); printf("\t%08llx Variable label: \"%s\"\n", offset, label); - - /* Skip unread label bytes. */ - skip_bytes (r, len - read_len); + free (label); /* Skip label padding up to multiple of 4 bytes. */ skip_bytes (r, ROUND_UP (len, 4) - len);