2012-12-13 (목), 07:44 +0900, Namjae Jeon: > 2012/12/13, Leon Romanovsky <leon@xxxxxxx>: > > On Wed, Dec 12, 2012 at 8:50 AM, Fubo Chen <fubo.chen@xxxxxxxxx> wrote: > >> On Wed, Dec 12, 2012 at 5:12 PM, Leon Romanovsky <leon@xxxxxxx> wrote: > >>> On Wed, Dec 12, 2012 at 7:05 AM, Fubo Chen <fubo.chen@xxxxxxxxx> wrote: > >>>> > >>>> On Wed, Dec 12, 2012 at 3:37 PM, Namjae Jeon <linkinjeon@xxxxxxxxx> > >>>> wrote: > >>>> > + /* dot and dotdot dentries should have zero-value hash code > >>>> > */ > >>>> > + if (!memcmp(name, ".", 1) || !memcmp(name, "..", 2)) > >>>> > + return 0; > >>>> > >>>> That looks suspicious. If memcmp(name, "..", 2) == 0 then always > >>>> memcmp(name, ".", 1) == 0. Why two tests ? > >>> > >>> It is not the case vice versa, so you still need to do two checks. > >>> You need to distinguish dot(.), dotdot(..) and something with dot at > >>> the beginning (for example - .o) > >> > >> Thanks for replying. I understand that the intention is what you > >> explained. But to me the code says something else: "if the first byte > >> of name is a dot, return 0". Did I see that correctly ? > > Excellent catch, I agree with you It will also return 0 for every file > > which starts from the dot. > > The right solution must take name length into account. > Hi. > Agree. I will change it on v2 patch. > Thanks for review. Nice catch! I made a mistake initially before. Sorry Namjae. Thanks to all of you. -- Jaegeuk Kim Samsung
Attachment:
signature.asc
Description: This is a digitally signed message part