* proto_serv.c (proto_serv): For error return,strdup the returned
authorEzra Peisach <epeisach@mit.edu>
Mon, 28 Feb 2000 16:32:47 +0000 (16:32 +0000)
committerEzra Peisach <epeisach@mit.edu>
Mon, 28 Feb 2000 16:32:47 +0000 (16:32 +0000)
value from error_message to maintain its const status.

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

src/kadmin/v5passwdd/ChangeLog
src/kadmin/v5passwdd/proto_serv.c

index f94ed38bfcda4a168d0535eedc35ccb5baa972a4..a63cc97cef880afba6e68f097e5648650abfc16a 100644 (file)
@@ -1,3 +1,8 @@
+2000-02-28  Ezra Peisach  <epeisach@mit.edu>
+
+       * proto_serv.c (proto_serv): For error return,strdup the returned
+       value from error_message to maintain its const status.
+
 1999-10-26  Tom Yu  <tlyu@mit.edu>
 
        * Makefile.in: Clean up usage of CFLAGS, CPPFLAGS, DEFS, DEFINES,
index 6c7e22772ea301bf3339a70edc9901ac765507a4..413c5efe8ab4412fdc4cb24375b8796881a3c5ba 100644 (file)
@@ -815,12 +815,13 @@ proto_serv(kcontext, my_id, cl_sock, sv_p, cl_p)
        if (errbuf.error > 127)
            errbuf.error = KRB5KRB_ERR_GENERIC;
        /* Format the error message in our language */
-       errmsg = error_message(kret);
+       errmsg = strdup(error_message(kret));
        errbuf.text.length = strlen(errmsg);
        errbuf.text.data = errmsg;
        er_kret = krb5_mk_error(kcontext, &errbuf, &errout);
        if (!er_kret)
            krb5_write_message(kcontext, (krb5_pointer) &cl_sock, &errout);
+       if(errmsg) free(errmsg);
        free(errbuf.text.data);
        krb5_free_data_contents(kcontext, &errout);
     }