uafs: avoid type-punning in get_user_struct()
authorGarrett Wollman <wollman@csail.mit.edu>
Fri, 20 Jul 2012 22:35:56 +0000 (18:35 -0400)
committerDerrick Brashear <shadow@dementix.org>
Sun, 22 Jul 2012 12:22:35 +0000 (05:22 -0700)
There's no need for type-punning here; usr_getspecific() is a macro
that just assigns to the variable whose address we provide, so the
cast was just unnecessary (and erroneous) obfuscation.  This is the
only caller of usr_getspecific(), so if it needs to be more complex
in the future, it should probably just be open-coded here.

Change-Id: I81286cbce9a00908aa87073b728b07d8bcc8d1d1
Reviewed-on: http://gerrit.openafs.org/7799
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

src/afs/UKERNEL/afs_usrops.c

index b44e54b..018bbd0 100644 (file)
@@ -412,11 +412,12 @@ get_user_struct(void)
 {
     struct usr_user *uptr;
     int st;
-    st = usr_getspecific(afs_global_u_key, (void **)&uptr);
+
+    st = usr_getspecific(afs_global_u_key, &uptr);
     usr_assert(st == 0);
     if (uptr == NULL) {
        uafs_InitThread();
-       st = usr_getspecific(afs_global_u_key, (void **)&uptr);
+       st = usr_getspecific(afs_global_u_key, &uptr);
        usr_assert(st == 0);
        usr_assert(uptr != NULL);
     }