On 04/07/2015 07:12 AM, Peter Hurley wrote: > On 04/07/2015 12:49 AM, David Gibson wrote: >> I did spot a case where the existing code is arguably incorrect: using >> fdt_path_offset_namelen(fdt, "/somenode\0foo", 13) will return the >> same as fdt_path_offset(fdt, "/somenode"), although I think ideally it >> should always return -FDT_ERR_NOTFOUND, or some other error, since >> node names can never include \0. > > Ok, I'll fix that. I think your memchr() is broken. Patch below passes with the following output: .... Checking offset of "/subnode@2/subsubnode@0/more" [first 24 characters] is 380... Checking offset of "/subnode@2/subsubnode@0/more" [first 25 characters] is -1... Checking offset of "/subnode@1" [first 14 characters] is -1... PASS Regards, Peter Hurley --- >% --- diff --git a/tests/path_offset.c b/tests/path_offset.c index bfebe9f..2788957 100644 --- a/tests/path_offset.c +++ b/tests/path_offset.c @@ -133,5 +133,7 @@ int main(int argc, char *argv[]) check_path_offset_namelen(fdt, "/subnode@2/subsubnode@0/more", 24, subsubnode2_offset2); check_path_offset_namelen(fdt, "/subnode@2/subsubnode@0/more", 25, -FDT_ERR_NOTFOUND); + check_path_offset_namelen(fdt, "/subnode@1\0foo", 14, -FDT_ERR_NOTFOUND); + PASS(); } -- To unsubscribe from this list: send the line "unsubscribe devicetree-compiler" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html