]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
Fix handling of Firmware field in JSON output
authorAaron Miller <aaronmiller@fb.com>
Fri, 9 Dec 2016 23:11:28 +0000 (15:11 -0800)
committerAaron Miller <aaronmiller@fb.com>
Fri, 9 Dec 2016 23:48:49 +0000 (15:48 -0800)
This was not checking the sizeof() of the .fr field and could read past
the end of it.

nvme-print.c

index 1f00b07f79a7e94ecc2733c35330868e14b9cfe7..ddfabcdf4e844aab8f49b5f189ff4e4208efd3d5 100644 (file)
@@ -1151,9 +1151,14 @@ void json_print_list_items(struct list_item *list_items, unsigned len)
                json_object_add_value_string(device_attrs,
                                             "DevicePath",
                                             list_items[i].node);
+
+               format(formatter, sizeof(formatter),
+                          list_items[i].ctrl.fr,
+                          sizeof(list_items[i].ctrl.fr));
+
                json_object_add_value_string(device_attrs,
                                             "Firmware",
-                                            list_items[i].ctrl.fr);
+                                            formatter);
 
                if (sscanf(list_items[i].node, "/dev/nvme%d", &index) == 1)
                        json_object_add_value_int(device_attrs,