* client_principal.c (kadm5_get_principal,
authorEzra Peisach <epeisach@mit.edu>
Thu, 7 Nov 1996 16:46:23 +0000 (16:46 +0000)
committerEzra Peisach <epeisach@mit.edu>
Thu, 7 Nov 1996 16:46:23 +0000 (16:46 +0000)
kadm5_modify_principal): For a V1 request, copy only the
memory that is allocated for the incomming principal.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@9312 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/kadm5/clnt/ChangeLog
src/lib/kadm5/clnt/client_principal.c

index 7ce511a41d807a3702ceedc53c187a24fb71e7a8..1d170496884f385478df531985c252d1084ed3a6 100644 (file)
@@ -1,3 +1,9 @@
+Thu Nov  7 11:41:08 1996  Ezra Peisach  <epeisach@mit.edu>
+
+       * client_principal.c (kadm5_get_principal,
+               kadm5_modify_principal): For a V1 request, copy only the
+               memory that is allocated for the incomming principal.
+               
 Fri Oct  4 08:38:16 1996  Ezra Peisach  <epeisach@kangaroo.mit.edu>
 
        * client_principal.c (kadm5_randkey_principal): Do not assume that
index 54ce1f30b08d8e0e72c5c571e18aa435c37dcd85..14cd55d803431f9088c98a336c203c1845da317d 100644 (file)
@@ -25,13 +25,19 @@ kadm5_create_principal(void *server_handle,
 
     CHECK_HANDLE(server_handle);
 
+    memset(&arg, 0, sizeof(arg));
     arg.mask = mask;
     arg.passwd = pw;
     arg.api_version = handle->api_version;
 
     if(princ == NULL)
        return EINVAL;
-    memcpy(&arg.rec, princ, sizeof(kadm5_principal_ent_rec));
+
+    if (handle->api_version == KADM5_API_VERSION_1) {
+       memcpy(&arg.rec, princ, sizeof(kadm5_principal_ent_rec_v1));
+    } else {
+       memcpy(&arg.rec, princ, sizeof(kadm5_principal_ent_rec));
+    }
     if (handle->api_version == KADM5_API_VERSION_1) {
         /*
          * hack hack cough cough.
@@ -94,6 +100,7 @@ kadm5_modify_principal(void *server_handle,
 
     CHECK_HANDLE(server_handle);
 
+    memset(&arg, 0, sizeof(arg));
     arg.mask = mask;
     arg.api_version = handle->api_version;
     /*
@@ -102,7 +109,11 @@ kadm5_modify_principal(void *server_handle,
      */
     if(princ == NULL)
        return EINVAL;
-    memcpy(&arg.rec, princ, sizeof(kadm5_principal_ent_rec));
+    if (handle->api_version == KADM5_API_VERSION_1) {
+        memcpy(&arg.rec, princ, sizeof(kadm5_principal_ent_rec_v1));
+    } else {
+        memcpy(&arg.rec, princ, sizeof(kadm5_principal_ent_rec));
+    }
     if(!(mask & KADM5_POLICY))
        arg.rec.policy = NULL;
     if (! (mask & KADM5_KEY_DATA)) {