auth: Make token_FreeSet work on an empty set
authorSimon Wilkinson <sxw@your-file-system.com>
Sat, 11 Sep 2010 22:14:42 +0000 (23:14 +0100)
committerDerrick Brashear <shadow@dementia.org>
Mon, 13 Sep 2010 22:23:51 +0000 (15:23 -0700)
If the set passed to token_FreeSet is already freed, just
make the funciton a no-op, rather than segfaulting.

Change-Id: I41342d1c7bd94bcf20ad67407b28d9ffcccf3c07
Reviewed-on: http://gerrit.openafs.org/2751
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

src/auth/token.c

index 4070bb8..59d323b 100644 (file)
@@ -429,7 +429,9 @@ token_setPag(struct ktc_setTokenData *jar, int setpag) {
 
 void
 token_FreeSet(struct ktc_setTokenData **jar) {
-    xdr_free((xdrproc_t)xdr_ktc_setTokenData, *jar);
-    memset(*jar, 0, sizeof(struct ktc_setTokenData));
-    *jar = NULL;
+    if (*jar) {
+       xdr_free((xdrproc_t)xdr_ktc_setTokenData, *jar);
+       memset(*jar, 0, sizeof(struct ktc_setTokenData));
+       *jar = NULL;
+    }
 }