/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to plugins.d/plymouth.c

  • Committer: Teddy Hogeborn
  • Date: 2014-07-12 13:13:28 UTC
  • mto: (237.7.272 trunk)
  • mto: This revision was merged to the branch mainline in revision 317.
  • Revision ID: teddy@recompile.se-20140712131328-gdkvcea7f9rov7bn
mandos-client: Fix minor memory leak on memory full or clock failure.

* plugins.d/mandos-client.c (add_server): On any errors, free
                                          new_server and its contents
                                          before returning.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
/*
3
3
 * Plymouth - Read a password from Plymouth and output it
4
4
 * 
5
 
 * Copyright © 2010-2016 Teddy Hogeborn
6
 
 * Copyright © 2010-2016 Björn Påhlsson
 
5
 * Copyright © 2010-2014 Teddy Hogeborn
 
6
 * Copyright © 2010-2014 Björn Påhlsson
7
7
 * 
8
8
 * This program is free software: you can redistribute it and/or
9
9
 * modify it under the terms of the GNU General Public License as
174
174
      }
175
175
    }
176
176
    
177
 
    char **new_argv = malloc(sizeof(const char *));
178
 
    if(new_argv == NULL){
179
 
      error_plus(0, errno, "malloc");
180
 
      _exit(EX_OSERR);
181
 
    }
 
177
    char **new_argv = NULL;
182
178
    char **tmp;
183
179
    int i = 0;
184
180
    for (; argv[i]!=NULL; i++){
185
 
      tmp = realloc(new_argv, sizeof(const char *) * ((size_t)i + 2));
 
181
      tmp = realloc(new_argv, sizeof(const char *) * ((size_t)i + 1));
186
182
      if(tmp == NULL){
187
183
        error_plus(0, errno, "realloc");
188
184
        free(new_argv);