wbemprox: Iterate over all drives instead of just the first four.
Joachim Priesner
joachim.priesner at web.de
Mon Dec 21 06:00:32 CST 2015
As sizeof(drives) == sizeof(DWORD) == 4, the loops will iterate only
over the first four logical drives. The author probably meant the number
of bits in the bitmask (32), but since drive letters range from A to Z
it makes more sense to just hard-code the limit.
Signed-off-by: Joachim Priesner <joachim.priesner at web.de>
---
dlls/wbemprox/builtin.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c
index 2ff3f50..b7db266 100644
--- a/dlls/wbemprox/builtin.c
+++ b/dlls/wbemprox/builtin.c
@@ -1176,7 +1176,7 @@ static enum fill_status fill_cdromdrive( struct table *table, const struct expr
if (!resize_table( table, 1, sizeof(*rec) )) return FILL_STATUS_FAILED;
- for (i = 0; i < sizeof(drives); i++)
+ for (i = 0; i < 26; i++)
{
if (drives & (1 << i))
{
@@ -1598,7 +1598,7 @@ static enum fill_status fill_datafile( struct table *table, const struct expr *c
dirstack = alloc_dirstack(2);
- for (i = 0; i < sizeof(drives); i++)
+ for (i = 0; i < 26; i++)
{
if (!(drives & (1 << i))) continue;
@@ -1719,7 +1719,7 @@ static enum fill_status fill_directory( struct table *table, const struct expr *
dirstack = alloc_dirstack(2);
- for (i = 0; i < sizeof(drives); i++)
+ for (i = 0; i < 26; i++)
{
if (!(drives & (1 << i))) continue;
@@ -1831,7 +1831,7 @@ static enum fill_status fill_diskdrive( struct table *table, const struct expr *
if (!resize_table( table, 2, sizeof(*rec) )) return FILL_STATUS_FAILED;
- for (i = 0; i < sizeof(drives); i++)
+ for (i = 0; i < 26; i++)
{
if (drives & (1 << i))
{
@@ -1895,7 +1895,7 @@ static enum fill_status fill_diskpartition( struct table *table, const struct ex
if (!resize_table( table, 4, sizeof(*rec) )) return FILL_STATUS_FAILED;
- for (i = 0; i < sizeof(drives); i++)
+ for (i = 0; i < 26; i++)
{
if (drives & (1 << i))
{
@@ -1962,7 +1962,7 @@ static enum fill_status fill_logicaldisk( struct table *table, const struct expr
if (!resize_table( table, 4, sizeof(*rec) )) return FILL_STATUS_FAILED;
- for (i = 0; i < sizeof(drives); i++)
+ for (i = 0; i < 26; i++)
{
if (drives & (1 << i))
{
--
2.1.4
More information about the wine-patches
mailing list