Skip to contentSkip to conversation

reiser4progs: Limit printing of label to the maximum of 16 chars

PATCH New Mike Fleetwood 1 participant 1 message Dec 29, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 reiser4progs: Limit printing of label to the maximum of 16 chars

For a reiser4 file system with exactly the maximum size 16 character label, debugfs.reiser4 prints junk from memory at the end of the label. This is because the label is read into a 16 character array and is printed as a string, but there isn't a nul terminating character.

    # mkfs.reiser4 --yes --label abcdefghij123456 /dev/sda13
    # debugfs.reiser4 /dev/sda13 2> /dev/null | grep label:
    label:          abcdefghij123456!

Print at most 16 characters of the label.

---

librepair/master.c +1 -1
diff -urN reiser4progs-1.0.7.orig/librepair/master.c reiser4progs-1.0.7/librepair/master.c
@@ -356,7 +356,7 @@
 #endif
 	
 	if (*master->ent.ms_label != '\0') {
-		aal_stream_format(stream, "label:\t\t%s\n",
+		aal_stream_format(stream, "label:\t\t%.16s\n",
 				  reiser4_master_get_label(master));
 	} else {
 		aal_stream_format(stream, "label:\t\t<none>\n");