Commit 8083a3e50895abb6070d9f339363d05d2c5e0017
1 parent
644c433c
dirent fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@48 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
4 additions
and
4 deletions
linux-user/syscall.c
@@ -1603,10 +1603,10 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -1603,10 +1603,10 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
1603 | int reclen; | 1603 | int reclen; |
1604 | de = dirp; | 1604 | de = dirp; |
1605 | while (len > 0) { | 1605 | while (len > 0) { |
1606 | - reclen = tswap16(de->d_reclen); | 1606 | + reclen = de->d_reclen; |
1607 | if (reclen > len) | 1607 | if (reclen > len) |
1608 | break; | 1608 | break; |
1609 | - de->d_reclen = reclen; | 1609 | + de->d_reclen = tswap16(reclen); |
1610 | tswapls(&de->d_ino); | 1610 | tswapls(&de->d_ino); |
1611 | tswapls(&de->d_off); | 1611 | tswapls(&de->d_off); |
1612 | de = (struct dirent *)((char *)de + reclen); | 1612 | de = (struct dirent *)((char *)de + reclen); |
@@ -1626,10 +1626,10 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | @@ -1626,10 +1626,10 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, | ||
1626 | int reclen; | 1626 | int reclen; |
1627 | de = dirp; | 1627 | de = dirp; |
1628 | while (len > 0) { | 1628 | while (len > 0) { |
1629 | - reclen = tswap16(de->d_reclen); | 1629 | + reclen = de->d_reclen; |
1630 | if (reclen > len) | 1630 | if (reclen > len) |
1631 | break; | 1631 | break; |
1632 | - de->d_reclen = reclen; | 1632 | + de->d_reclen = tswap16(reclen); |
1633 | tswap64s(&de->d_ino); | 1633 | tswap64s(&de->d_ino); |
1634 | tswap64s(&de->d_off); | 1634 | tswap64s(&de->d_off); |
1635 | de = (struct dirent64 *)((char *)de + reclen); | 1635 | de = (struct dirent64 *)((char *)de + reclen); |