[SSSD] [PATCH] krb5: Fix warning sometimes uninitialized

Jakub Hrozek jhrozek at redhat.com
Tue Sep 10 15:46:18 UTC 2013


On Tue, Sep 10, 2013 at 03:59:29PM +0200, Jakub Hrozek wrote:
> On Tue, Sep 10, 2013 at 12:29:22PM +0200, Lukas Slebodnik wrote:
> > On (10/09/13 10:37), Sumit Bose wrote:
> > >On Tue, Sep 10, 2013 at 10:13:10AM +0200, Lukas Slebodnik wrote:
> > >> ehlo,
> > >> 
> > >> clang found a warning in simo's krb5 refactoring patches.
> > >> 
> > >> src/providers/krb5/krb5_utils.c:850:9: warning: variable 'ret' is used uninitialized whenever
> > >>       'if' condition is false [-Wsometimes-uninitialized]
> > >>     if (kerr) {
> > >>         ^~~~
> > >> src/providers/krb5/krb5_utils.c:859:12: note: uninitialized use occurs here
> > >>     return ret;
> > >>            ^~~
> > >> src/providers/krb5/krb5_utils.c:850:5: note: remove the 'if' if its condition is always true
> > >>     if (kerr) {
> > >>     ^~~~~~~~~~
> > >> src/providers/krb5/krb5_utils.c:847:16: note: initialize the variable 'ret' to silence this
> > >>       warning
> > >>     errno_t ret;
> > >> 
> > >> LS
> > >
> > >> From fbb64181ffbc38df657fc2224f60b002e4ecb05c Mon Sep 17 00:00:00 2001
> > >> From: Lukas Slebodnik <lslebodn at redhat.com>
> > >> Date: Tue, 10 Sep 2013 10:07:51 +0200
> > >> Subject: [PATCH] krb5: Fix warning sometimes uninitialized
> > >> 
> > >> warning: variable 'ret' is used uninitialized whenever
> > >> 'if' condition is false
> > >>     if (kerr) {
> > >>         ^~~~
> > >> ---
> > >>  src/providers/krb5/krb5_utils.c | 2 +-
> > >>  1 file changed, 1 insertion(+), 1 deletion(-)
> > >> 
> > >> diff --git a/src/providers/krb5/krb5_utils.c b/src/providers/krb5/krb5_utils.c
> > >> index bb933d7f722cbef90b73f4a721382165572c69b9..fb9942c53b17c7de246f893fc25de282a0a116e9 100644
> > >> --- a/src/providers/krb5/krb5_utils.c
> > >> +++ b/src/providers/krb5/krb5_utils.c
> > >> @@ -844,7 +844,7 @@ done:
> > >>  static errno_t sss_destroy_ccache(struct sss_krb5_ccache *cc)
> > >>  {
> > >>      krb5_error_code kerr;
> > >> -    errno_t ret;
> > >> +    errno_t ret = EOK;
> > >>  
> > >
> > >I know it's nit-picking but I would prefer to not initialize ret but set
> > >it to EOK e.g. in an else clause. The reason is that this way the
> > >complier can still detect any uninitialized use if sss_destroy_ccache()
> > >is extended/enhanced in future.
> > >
> > >bye,
> > >Sumit
> > >
> > No problem.
> > 
> > LS
> 
> ACK

Pushed to master.



More information about the sssd-devel mailing list