]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Improve error translation for CCAPIv3 routines
authorBen Kaduk <kaduk@mit.edu>
Fri, 17 Aug 2012 23:13:14 +0000 (19:13 -0400)
committerTom Yu <tlyu@mit.edu>
Wed, 29 Aug 2012 23:17:18 +0000 (19:17 -0400)
We can't mix the KRB5 and CC error constants; standardize on the CC ones
and translate appropriately.

(cherry picked from commit c326061409d6e48e68808e6f37b243e4f7356935)

ticket: 7339
version_fixed: 1.10.4
status: resolved

src/lib/krb5/ccache/ccapi/stdcc.c

index fa6a1d41132e5bba26287eb5e32c2bf5504a44ee..555a9617d144a706d0acc85fcf3492e113e315f5 100644 (file)
@@ -885,7 +885,7 @@ krb5_stdccv3_ptcursor_new(krb5_context context,
 
     ptcursor = malloc(sizeof(*ptcursor));
     if (ptcursor == NULL) {
-        err = ENOMEM;
+        err = ccErrNoMem;
     }
     else {
         memset(ptcursor, 0, sizeof(*ptcursor));
@@ -910,7 +910,7 @@ krb5_stdccv3_ptcursor_new(krb5_context context,
 
     *cursor = ptcursor;
 
-    return err;
+    return cc_err_xlate(err);
 }
 
 krb5_error_code KRB5_CALLCONV
@@ -936,12 +936,12 @@ krb5_stdccv3_ptcursor_next(
 
     if (!err) {
         newCache = (krb5_ccache) malloc (sizeof (*newCache));
-        if (!newCache) { err = KRB5_CC_NOMEM; }
+        if (!newCache) { err = ccErrNoMem; }
     }
 
     if (!err) {
         ccapi_data = (stdccCacheDataPtr) malloc (sizeof (*ccapi_data));
-        if (!ccapi_data) { err = KRB5_CC_NOMEM; }
+        if (!ccapi_data) { err = ccErrNoMem; }
     }
 
     if (!err) {
@@ -955,7 +955,7 @@ krb5_stdccv3_ptcursor_next(
 
     if (!err) {
         name = strdup (ccstring->data);
-        if (!name) { err = KRB5_CC_NOMEM; }
+        if (!name) { err = ccErrNoMem; }
     }
 
     if (!err) {
@@ -984,7 +984,7 @@ krb5_stdccv3_ptcursor_next(
         err = ccNoError;
     }
 
-    return err;
+    return cc_err_xlate(err);
 }
 
 krb5_error_code KRB5_CALLCONV
@@ -1090,8 +1090,9 @@ krb5_error_code KRB5_CALLCONV krb5_stdccv3_switch_to
     stdccCacheDataPtr ccapi_data = id->data;
     int err;
 
-    if ((retval = stdccv3_setup(context, ccapi_data)))
-        return retval;
+    retval = stdccv3_setup(context, ccapi_data);
+    if (retval)
+        return cc_err_xlate(retval);
 
     err = cc_ccache_set_default(ccapi_data->NamedCache);
     return cc_err_xlate(err);