/mandos/trunk

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

« back to all changes in this revision

Viewing changes to plugins.d/mandos-client.c

  • Committer: Teddy Hogeborn
  • Date: 2018-02-18 01:03:48 UTC
  • Revision ID: teddy@recompile.se-20180218010348-hhjfox5t4py5n5zh
Client: Bug fix: Possible memory leak if failing to open /dev/null

* plugins.d/mandos-client.d (run_network_hooks): Try to open /dev/null
  before reading network hook dir in order to fail early in that case.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3062
3062
                                                | O_PATH));
3063
3063
    if(dir_fd == -1){
3064
3064
      perror_plus("open");
3065
 
      return;
3066
3065
    }
3067
3066
    int numentries = scandirat(dir_fd, ".", &direntries,
3068
3067
                               notdotentries, alphasort);
3095
3094
      
3096
3095
      /* need to clean even if 0 because man page doesn't specify */
3097
3096
      free(direntries);
 
3097
      if(numentries == -1){
 
3098
        perror_plus("scandirat");
 
3099
      }
3098
3100
      dret = unlinkat(base, dirname, AT_REMOVEDIR);
3099
3101
      if(dret == -1 and errno != ENOENT){
3100
3102
        perror_plus("rmdir");