From: Szabolcs S. <sz...@us...> - 2006-11-12 21:29:30
|
Update of /cvsroot/ntfs-3g/ntfs-3g/libntfs-3g In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv18916/libntfs-3g Modified Files: unix_io.c Log Message: ntfs_device_unix_io_open: check for block device early on Index: unix_io.c =================================================================== RCS file: /cvsroot/ntfs-3g/ntfs-3g/libntfs-3g/unix_io.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- unix_io.c 10 Nov 2006 23:08:06 -0000 1.2 +++ unix_io.c 12 Nov 2006 21:29:12 -0000 1.3 @@ -87,6 +87,13 @@ errno = EBUSY; return -1; } + if (stat(dev->d_name, &sbuf)) { + ntfs_log_perror("Failed to access '%s'", dev->d_name); + return -1; + } + if (S_ISBLK(sbuf.st_mode)) + NDevSetBlock(dev); + dev->d_private = ntfs_malloc(sizeof(int)); if (!dev->d_private) return -1; @@ -121,9 +128,6 @@ "close %s", dev->d_name); goto err_out; } - /* Determine if device is a block device or not, ignoring errors. */ - if (!fstat(DEV_FD(dev), &sbuf) && S_ISBLK(sbuf.st_mode)) - NDevSetBlock(dev); /* Set our open flag. */ NDevSetOpen(dev); return 0; |