Message ID | 49A0B055.5060600@gmail.com (mailing list archive) |
---|---|
State | Rejected, archived |
Headers | show |
No, the original code is correct. Index must be at least as long as (ACPI_NAME_SIZE + 1) in order to account for the path separator. In other words, each segment in the pathname is not of length ACPI_NAME_SIZE, it is of length (ACPI_NAME_SIZE + 1). Bob >-----Original Message----- >From: linux-acpi-owner@vger.kernel.org [mailto:linux-acpi- >owner@vger.kernel.org] On Behalf Of Roel Kluin >Sent: Saturday, February 21, 2009 5:54 PM >To: lenb@kernel.org >Cc: linux-acpi@vger.kernel.org; Andrew Morton >Subject: [PATCH] ACPI: index off by one? > >Should maybe this be applied? please review. >--------------------------->8-------------8<------------------------------ >When index equals ACPI_NAME_SIZE, that is still one too large. > >Signed-off-by: Roel Kluin <roel.kluin@gmail.com> >--- >diff --git a/drivers/acpi/acpica/nsnames.c b/drivers/acpi/acpica/nsnames.c >index ae3dc10..232c80c 100644 >--- a/drivers/acpi/acpica/nsnames.c >+++ b/drivers/acpi/acpica/nsnames.c >@@ -87,7 +87,7 @@ acpi_ns_build_external_path(struct acpi_namespace_node >*node, > parent_node = node; > name_buffer[index] = 0; > >- while ((index > ACPI_NAME_SIZE) && (parent_node != >acpi_gbl_root_node)) { >+ while ((index >= ACPI_NAME_SIZE) && (parent_node != >acpi_gbl_root_node)) { > index -= ACPI_NAME_SIZE; > > /* Put the name into the buffer */ >-- >To unsubscribe from this list: send the line "unsubscribe linux-acpi" in >the body of a message to majordomo@vger.kernel.org >More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/acpi/acpica/nsnames.c b/drivers/acpi/acpica/nsnames.c index ae3dc10..232c80c 100644 --- a/drivers/acpi/acpica/nsnames.c +++ b/drivers/acpi/acpica/nsnames.c @@ -87,7 +87,7 @@ acpi_ns_build_external_path(struct acpi_namespace_node *node, parent_node = node; name_buffer[index] = 0; - while ((index > ACPI_NAME_SIZE) && (parent_node != acpi_gbl_root_node)) { + while ((index >= ACPI_NAME_SIZE) && (parent_node != acpi_gbl_root_node)) { index -= ACPI_NAME_SIZE; /* Put the name into the buffer */
Should maybe this be applied? please review. --------------------------->8-------------8<------------------------------ When index equals ACPI_NAME_SIZE, that is still one too large. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> --- -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html