Skip to content

Commit

Permalink
ACPICA: Add support for zero-length buffer-to-string conversions
Browse files Browse the repository at this point in the history
Allow zero length strings during interpreter buffer-to-string
conversions. For example, during the ToDecimalString and
ToHexString operaters, as well as implicit conversions. Fiodor
Suietov.  ACPICA BZ 585.

http://www.acpica.org/bugzilla/show_bug.cgi?id=585

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
  • Loading branch information
Bob Moore authored and Len Brown committed Oct 23, 2008
1 parent e8707b3 commit 4ca846e
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions drivers/acpi/executer/exconvrt.c
Original file line number Diff line number Diff line change
Expand Up @@ -512,9 +512,14 @@ acpi_ex_convert_to_string(union acpi_operand_object * obj_desc,
/*
* Create a new string object and string buffer
* (-1 because of extra separator included in string_length from above)
* Allow creation of zero-length strings from zero-length buffers.
*/
if (string_length) {
string_length--;
}

return_desc = acpi_ut_create_string_object((acpi_size)
(string_length - 1));
string_length);
if (!return_desc) {
return_ACPI_STATUS(AE_NO_MEMORY);
}
Expand All @@ -537,7 +542,9 @@ acpi_ex_convert_to_string(union acpi_operand_object * obj_desc,
* Null terminate the string
* (overwrites final comma/space from above)
*/
new_buf--;
if (obj_desc->buffer.length) {
new_buf--;
}
*new_buf = 0;
break;

Expand Down

0 comments on commit 4ca846e

Please sign in to comment.