dm: fix dm_substitute_devices()

When candidate is the last parameter, candidate_end points to the '\0'
character and not the DM_FIELD_SEP character.  In such a situation, we
should not move the candidate_end pointer one character backward.

(Cherry-picked from https://android-review.googlesource.com/#/c/221680/)
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Change-Id: Ifc042e07da99fcfdfd46811d4208b39b427a6d99
This commit is contained in:
Jeremy Compostella 2016-05-02 17:29:28 +02:00 committed by voidanix
parent e4b5d12600
commit 10c0272a60
1 changed files with 2 additions and 1 deletions

View File

@ -176,7 +176,8 @@ static void __init dm_substitute_devices(char *str, size_t str_len)
continue;
/* Temporarily terminate with a nul */
candidate_end--;
if (*candidate_end)
candidate_end--;
old_char = *candidate_end;
*candidate_end = '\0';