On Mon, 2011-01-10 at 13:06 +0100, Jakub Hrozek wrote: > Nack, > > same comment as the previous patch, don't use if(ptr) free(ptr); > > Also one very minor style issue - please use: > > if(cond) { > foo(); > } else { > bar(); > } > > rather than: > > if (cond) { > foo(); > } > else { > bar(); > }
Good point with the free method. Sending second patch with these issues fixed. Martin
>From e9c15b8265c263cb1702e0d724188ce2486c50ed Mon Sep 17 00:00:00 2001 From: Martin Kosek <mko...@redhat.com> Date: Mon, 10 Jan 2011 09:55:57 +0100 Subject: [PATCH] Uninitialized pointer read in ipa-rmkeytab Fix "--realm" parameter processing in ipa-rmkeytab. Also make sure that memory allocated in this process is also freed. https://fedorahosted.org/freeipa/ticket/711 --- ipa-client/ipa-rmkeytab.c | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ipa-client/ipa-rmkeytab.c b/ipa-client/ipa-rmkeytab.c index 0320045d00bb3e386883530b5e26babe1bffaacb..e1f79d0b440dd142cc3b65796d7c33f97fb039a3 100644 --- a/ipa-client/ipa-rmkeytab.c +++ b/ipa-client/ipa-rmkeytab.c @@ -148,8 +148,8 @@ main(int argc, const char **argv) krb5_error_code krberr; krb5_keytab ktid; krb5_kt_cursor cursor; - char * ktname; - char * atrealm; + char * ktname = NULL; + char * atrealm = NULL; poptContext pc; static const char *keytab = NULL; static const char *principal = NULL; @@ -201,14 +201,15 @@ main(int argc, const char **argv) * the string we pass in looks like a realm. */ if (realm) { - if (realm[0] != '@') + if (realm[0] != '@') { ret = asprintf(&atrealm, "@%s", realm); if (ret == -1) { rval = 2; goto cleanup; } - else - atrealm = strcpy(atrealm, realm); + } else { + atrealm = strdup(realm); + } } krberr = krb5_kt_resolve(context, ktname, &ktid); @@ -247,5 +248,8 @@ cleanup: poptFreeContext(pc); + free(atrealm); + free(ktname); + return rval; } -- 1.7.3.4
_______________________________________________ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel