summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2009-01-22 06:34:14 +0000
committerKen Raeburn <raeburn@mit.edu>2009-01-22 06:34:14 +0000
commit997d82648527cf03c150c392231432c1c5dc97b2 (patch)
treed35a387200aa12f90b6e0ff4fb099b8e9ce61794 /src/lib
parent6adbcd8d205f254ace5dd2cf66e0e6cdae4a407f (diff)
downloadkrb5-997d82648527cf03c150c392231432c1c5dc97b2.tar.gz
krb5-997d82648527cf03c150c392231432c1c5dc97b2.tar.xz
krb5-997d82648527cf03c150c392231432c1c5dc97b2.zip
If USE_VALGRIND, check that source principal is defined before copying.
Initialize magic number fields of allocated name components. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21775 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/kadm5/srv/svr_principal.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/kadm5/srv/svr_principal.c b/src/lib/kadm5/srv/svr_principal.c
index de11acd7ef..2bdc1f5b29 100644
--- a/src/lib/kadm5/srv/svr_principal.c
+++ b/src/lib/kadm5/srv/svr_principal.c
@@ -24,6 +24,12 @@ static char *rcsid = "$Header$";
#endif
+#ifdef USE_VALGRIND
+#include <valgrind/memcheck.h>
+#else
+#define VALGRIND_CHECK_DEFINED(LVALUE) ((void)0)
+#endif
+
extern krb5_principal master_princ;
extern krb5_principal hist_princ;
extern krb5_keyblock master_keyblock;
@@ -47,6 +53,7 @@ kadm5_copy_principal(krb5_context context, krb5_const_principal inprinc, krb5_pr
if (tempprinc == 0)
return ENOMEM;
+ VALGRIND_CHECK_DEFINED(*inprinc);
memcpy(tempprinc, inprinc, sizeof(krb5_principal_data));
nelems = (int) krb5_princ_size(context, inprinc);
@@ -70,6 +77,7 @@ kadm5_copy_principal(krb5_context context, krb5_const_principal inprinc, krb5_pr
if (len)
memcpy(krb5_princ_component(context, tempprinc, i)->data,
krb5_princ_component(context, inprinc, i)->data, len);
+ krb5_princ_component(context, tempprinc, i)->magic = KV5M_DATA;
}
tempprinc->realm.data =