#42111 [Fbk-Opn]: copy() creates file for dir as src

2007-08-14 Thread mahesh dot vemula at in dot ibm dot com
 ID:   42111
 User updated by:  mahesh dot vemula at in dot ibm dot com
 Reported By:  mahesh dot vemula at in dot ibm dot com
-Status:   Feedback
+Status:   Open
 Bug Type: Filesystem function related
 Operating System: RHEL4
 PHP Version:  5CVS-2007-07-26 (CVS)
 New Comment:

Yes, its working fine. Thanks.


Previous Comments:


[2007-08-13 16:54:33] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows (zip):
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip

For Windows (installer):

  http://snaps.php.net/win32/php5.2-win32-installer-latest.msi





[2007-08-13 11:31:33] mahesh dot vemula at in dot ibm dot com

Fix for bug #42243 can't be a fix for bug #42111. But fix for bug
#42111 would be a fix for #42243.

Bug #42111 needs to be fixed in the following two aspects.
1) copying dir to non-existing destination
 Here, copy() returns FALSE but creates a file  no warning msg. Hence
the fix would be to generate warning msg when the first arg is a dir
even the second arg is a non-existing destination, as copy() function is
not valid on dirs. And also the destination file should not be created.
2) copying dir to existing file
 This is fixed by the fix provided for bug #42243, which is specific
when the first argument is a dir and the second one is an existing
destination.

I am sorry to raise the redundant bug #42243, which led to confusion.



[2007-08-10 13:08:24] [EMAIL PROTECTED]

Isn't this about the same bug as bug #42243 ?? If so, I think this is
fixed too since we now get an error and it returns before the file is
created..?



[2007-07-26 13:40:50] mahesh dot vemula at in dot ibm dot com

Description:

While trying to create a copy of an existing dir by copy() function, it
creates a file which is not expected but returns FALSE as expected. Even
for an existing file as second argument, PHP doesn’t throw any warning
message. It happens against Linux, and works fine against Windows.

Reproduce code:
---
?php
mkdir(copy);
mkdir(copy1);
fclose( fopen(copy.tmp, w) );

var_dump( copy(copy, copy1) );  //copying dir to existing dir,
throws a Warning msg as expected
var_dump( copy(copy.tmp, copy) );  //copying file to a dir, throws
a warning msg as expected

var_dump( copy(copy, copy_copy) );  //copying dir to non-existing
dest, copy returns FALSE but creates a file  no warning msg
var_dump( copy(copy, copy_dir.tmp) );  //copying dir to
non-existing file, copy returns FALSE but creates a file  no warning
msg
var_dump( copy(copy, copy.tmp) );  //copying dir to an existing
file, copy returns FALSE but no warning msg

unlink(copy_copy);
unlink(copy_dir.tmp);
unlink(copy.tmp);
rmdir(copy1);
rmdir(copy);
?


Expected result:

Creation of file is not expected and a required warning messages are
expected.

Actual result:
--
Warning: copy(copy1): failed to open stream: Is a directory in %s on
line %d
bool(false)

Warning: copy(copy): failed to open stream: Is a directory in %s on
line %d
bool(false)
bool(false)
bool(false)
bool(false)






-- 
Edit this bug report at http://bugs.php.net/?id=42111edit=1


#42111 [Fbk-Opn]: copy() creates file for dir as src

2007-08-13 Thread mahesh dot vemula at in dot ibm dot com
 ID:   42111
 User updated by:  mahesh dot vemula at in dot ibm dot com
 Reported By:  mahesh dot vemula at in dot ibm dot com
-Status:   Feedback
+Status:   Open
 Bug Type: Filesystem function related
 Operating System: RHEL4
 PHP Version:  5CVS-2007-07-26 (CVS)
 New Comment:

Fix for bug #42243 can't be a fix for bug #42111. But fix for bug
#42111 would be a fix for #42243.

Bug #42111 needs to be fixed in the following two aspects.
1) copying dir to non-existing destination
 Here, copy() returns FALSE but creates a file  no warning msg. Hence
the fix would be to generate warning msg when the first arg is a dir
even the second arg is a non-existing destination, as copy() function is
not valid on dirs. And also the destination file should not be created.
2) copying dir to existing file
 This is fixed by the fix provided for bug #42243, which is specific
when the first argument is a dir and the second one is an existing
destination.

I am sorry to raise the redundant bug #42243, which led to confusion.


Previous Comments:


[2007-08-10 13:08:24] [EMAIL PROTECTED]

Isn't this about the same bug as bug #42243 ?? If so, I think this is
fixed too since we now get an error and it returns before the file is
created..?



[2007-07-26 13:40:50] mahesh dot vemula at in dot ibm dot com

Description:

While trying to create a copy of an existing dir by copy() function, it
creates a file which is not expected but returns FALSE as expected. Even
for an existing file as second argument, PHP doesn’t throw any warning
message. It happens against Linux, and works fine against Windows.

Reproduce code:
---
?php
mkdir(copy);
mkdir(copy1);
fclose( fopen(copy.tmp, w) );

var_dump( copy(copy, copy1) );  //copying dir to existing dir,
throws a Warning msg as expected
var_dump( copy(copy.tmp, copy) );  //copying file to a dir, throws
a warning msg as expected

var_dump( copy(copy, copy_copy) );  //copying dir to non-existing
dest, copy returns FALSE but creates a file  no warning msg
var_dump( copy(copy, copy_dir.tmp) );  //copying dir to
non-existing file, copy returns FALSE but creates a file  no warning
msg
var_dump( copy(copy, copy.tmp) );  //copying dir to an existing
file, copy returns FALSE but no warning msg

unlink(copy_copy);
unlink(copy_dir.tmp);
unlink(copy.tmp);
rmdir(copy1);
rmdir(copy);
?


Expected result:

Creation of file is not expected and a required warning messages are
expected.

Actual result:
--
Warning: copy(copy1): failed to open stream: Is a directory in %s on
line %d
bool(false)

Warning: copy(copy): failed to open stream: Is a directory in %s on
line %d
bool(false)
bool(false)
bool(false)
bool(false)






-- 
Edit this bug report at http://bugs.php.net/?id=42111edit=1