From: Vladimir 'phcoder' Serbinenko Date: Fri, 4 May 2012 08:52:26 +0000 (+0200) Subject: * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison. X-Git-Tag: 2.00~251 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0a308f64e982673b88b06de76469a0ed5f6b1f77;p=thirdparty%2Fgrub.git * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison. --- diff --git a/ChangeLog b/ChangeLog index 3d2f9b098..4cfd49245 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2012-05-04 Vladimir Serbinenko + + * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison. + 2012-05-04 Samuel Thibault * util/getroot.c (find_hurd_root_device): Try to make error message diff --git a/grub-core/fs/bfs.c b/grub-core/fs/bfs.c index ead4dfac4..f050bc98e 100644 --- a/grub-core/fs/bfs.c +++ b/grub-core/fs/bfs.c @@ -519,10 +519,17 @@ bfs_strcmp (const char *a, const char *b, grub_size_t alen) alen--; } +#ifdef MODE_AFS if (!alen) - return - (int) (grub_uint8_t) *b; + return - (int) (grub_int8_t) *b; + + return (int) (grub_int8_t) *a - (int) (grub_int8_t) *b; +#else + if (!alen) + return - (int) (grub_uint8_t) *b; return (int) (grub_uint8_t) *a - (int) (grub_uint8_t) *b; +#endif } static grub_err_t