]> sourceware.org Git - newlib-cygwin.git/commitdiff
* mount.cc (fs_info::update): Define dir in the outermost scope to avoid
authorCorinna Vinschen <corinna@vinschen.de>
Mon, 23 Jun 2014 14:05:16 +0000 (14:05 +0000)
committerCorinna Vinschen <corinna@vinschen.de>
Mon, 23 Jun 2014 14:05:16 +0000 (14:05 +0000)
accessing out-of-scope value (CID 60027).  Always initialize attr to
upath (CID 60113).

winsup/cygwin/ChangeLog
winsup/cygwin/mount.cc

index 115b697d6b7fc599a54515b917d03cde9d002f0f..d12f6f8556e1cdb8261eef8d72af0e88c7c98b41 100644 (file)
@@ -1,3 +1,9 @@
+2014-06-23  Corinna Vinschen  <corinna@vinschen.de>
+
+       * mount.cc (fs_info::update): Define dir in the outermost scope to avoid
+       accessing out-of-scope value (CID 60027).  Always initialize attr to
+       upath (CID 60113).
+
 2014-06-23  Corinna Vinschen  <corinna@vinschen.de>
 
        * malloc_wrapper.cc (mallinfo): Initialize m if external malloc is used,
index 60ccdd505f3843105d9cb585883bcfd4e2e20ae7..eecd726920e9cc2347f4d0940630ad575d371295 100644 (file)
@@ -177,17 +177,18 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol)
     FILE_FS_VOLUME_INFORMATION ffvi;
     WCHAR buf[NAME_MAX + 1];
   } ffvi_buf;
+  UNICODE_STRING dir;
   UNICODE_STRING fsname;
 
   clear ();
+  /* Always caseinsensitive.  We really just need access to the drive. */
+  InitializeObjectAttributes (&attr, upath, OBJ_CASE_INSENSITIVE, NULL,
+                             NULL);
   if (in_vol)
     vol = in_vol;
   else
     {
       ULONG access = READ_CONTROL;
-      /* Always caseinsensitive.  We really just need access to the drive. */
-      InitializeObjectAttributes (&attr, upath, OBJ_CASE_INSENSITIVE, NULL,
-                                 NULL);
       /* Note: Don't use the FILE_OPEN_REPARSE_POINT flag here.  The reason
         is that symlink_info::check relies on being able to open a handle
         to the target of a volume mount point. */
@@ -205,7 +206,6 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol)
             && (attr.ObjectName->Length > 7 * sizeof (WCHAR)
                 || status == STATUS_NO_MEDIA_IN_DEVICE))
        {
-         UNICODE_STRING dir;
          RtlSplitUnicodePath (attr.ObjectName, &dir, NULL);
          attr.ObjectName = &dir;
          if (status == STATUS_NO_MEDIA_IN_DEVICE)
This page took 0.037706 seconds and 5 git commands to generate.