ANDROID: dm: do_mounts_dm: fix dm_substitute_devices()
authorJeremy Compostella <jeremy.compostella@intel.com>
Mon, 2 May 2016 15:29:28 +0000 (17:29 +0200)
committerAmit Pundir <amit.pundir@linaro.org>
Mon, 18 Dec 2017 15:41:22 +0000 (21:11 +0530)
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.

Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
init/do_mounts_dm.c

index 0fe9c5f7d5e9c8f011008d861825ac35c339859b..a557c5ee00a7b10160bec84baca39033a31ea044 100644 (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';