[Bug 219203] New: xfsprogs-6.10.0: missing cast in /usr/include/xfs/xfs_fs.h(xfs_getparents_next_rec) causes error in C++ compilations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=219203

            Bug ID: 219203
           Summary: xfsprogs-6.10.0: missing cast in
                    /usr/include/xfs/xfs_fs.h(xfs_getparents_next_rec)
                    causes error in C++ compilations
           Product: File System
           Version: 2.5
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: XFS
          Assignee: filesystem_xfs@xxxxxxxxxxxxxxxxxxxxxx
          Reporter: kernel@xxxxxxxxxxxxxxxxx
        Regression: No

C allows implicit casts from void* to any pointer type, but C++ does not. Thus,
when including <xfs/xfs_fs.h> in a C++ compilation unit, the compiler raises
this error:

/usr/include/xfs/xfs_fs.h: In function 'xfs_getparents_rec*
xfs_getparents_next_rec(xfs_getparents*, xfs_getparents_rec*)':
/usr/include/xfs/xfs_fs.h:915:16: error: invalid conversion from 'void*' to
'xfs_getparents_rec*' [-fpermissive]
  915 |         return next;
      |                ^~~~
      |                |
      |                void*


The return statement in xfs_getparents_next_rec() should have used an explicit
cast, as the return statement in xfs_getparents_first_rec() does.

--- /usr/include/xfs/xfs_fs.h
+++ /usr/include/xfs/xfs_fs.h
@@ -912,7 +912,7 @@
        if (next >= end)
                return NULL;

-       return next;
+       return (struct xfs_getparents_rec *)next;
 }

 /* Iterate through this file handle's directory parent pointers. */

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux