OSDN Git Service

release-request-6db00e04-e62d-4e43-807a-a9cc1185dcbb-for-git_oc-mr1-release-4136929...
[android-x86/external-openssh.git] / gss-genr.c
index 842f385..62559ed 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: gss-genr.c,v 1.20 2009/06/22 05:39:28 dtucker Exp $ */
+/* $OpenBSD: gss-genr.c,v 1.24 2016/09/12 01:22:38 deraadt Exp $ */
 
 /*
  * Copyright (c) 2001-2007 Simon Wilkinson. All rights reserved.
 #ifdef GSSAPI
 
 #include <sys/types.h>
-#include <sys/param.h>
 
+#include <limits.h>
 #include <stdarg.h>
 #include <string.h>
+#include <signal.h>
 #include <unistd.h>
 
 #include "xmalloc.h"
@@ -59,10 +60,10 @@ void
 ssh_gssapi_set_oid_data(Gssctxt *ctx, void *data, size_t len)
 {
        if (ctx->oid != GSS_C_NO_OID) {
-               xfree(ctx->oid->elements);
-               xfree(ctx->oid);
+               free(ctx->oid->elements);
+               free(ctx->oid);
        }
-       ctx->oid = xmalloc(sizeof(gss_OID_desc));
+       ctx->oid = xcalloc(1, sizeof(gss_OID_desc));
        ctx->oid->length = len;
        ctx->oid->elements = xmalloc(len);
        memcpy(ctx->oid->elements, data, len);
@@ -83,7 +84,7 @@ ssh_gssapi_error(Gssctxt *ctxt)
 
        s = ssh_gssapi_last_error(ctxt, NULL, NULL);
        debug("%s", s);
-       xfree(s);
+       free(s);
 }
 
 char *
@@ -164,8 +165,8 @@ ssh_gssapi_delete_ctx(Gssctxt **ctx)
        if ((*ctx)->name != GSS_C_NO_NAME)
                gss_release_name(&ms, &(*ctx)->name);
        if ((*ctx)->oid != GSS_C_NO_OID) {
-               xfree((*ctx)->oid->elements);
-               xfree((*ctx)->oid);
+               free((*ctx)->oid->elements);
+               free((*ctx)->oid);
                (*ctx)->oid = GSS_C_NO_OID;
        }
        if ((*ctx)->creds != GSS_C_NO_CREDENTIAL)
@@ -175,7 +176,7 @@ ssh_gssapi_delete_ctx(Gssctxt **ctx)
        if ((*ctx)->client_creds != GSS_C_NO_CREDENTIAL)
                gss_release_cred(&ms, &(*ctx)->client_creds);
 
-       xfree(*ctx);
+       free(*ctx);
        *ctx = NULL;
 }
 
@@ -222,7 +223,7 @@ ssh_gssapi_import_name(Gssctxt *ctx, const char *host)
            &gssbuf, GSS_C_NT_HOSTBASED_SERVICE, &ctx->name)))
                ssh_gssapi_error(ctx);
 
-       xfree(gssbuf.value);
+       free(gssbuf.value);
        return (ctx->major);
 }