/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/askpass-fifo.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:
2
2
/*
3
3
 * Askpass-FIFO - Read a password from a FIFO and output it
4
4
 * 
5
 
 * Copyright © 2008-2019 Teddy Hogeborn
6
 
 * Copyright © 2008-2019 Björn Påhlsson
 
5
 * Copyright © 2008-2018 Teddy Hogeborn
 
6
 * Copyright © 2008-2018 Björn Påhlsson
7
7
 * 
8
8
 * This file is part of Mandos.
9
9
 * 
65
65
    fprintf(stderr, ": ");
66
66
    fprintf(stderr, "%s\n", strerror(errnum));
67
67
    error(status, errno, "vasprintf while printing error");
68
 
    if(status){
69
 
      __builtin_unreachable();
70
 
    }
71
68
    return;
72
69
  }
73
70
  fprintf(stderr, "Mandos plugin ");
74
71
  error(status, errnum, "%s", text);
75
 
  if(status){
76
 
    __builtin_unreachable();
77
 
  }
78
72
  free(text);
79
73
}
80
74
 
96
90
    case ENOTDIR:
97
91
    case ELOOP:
98
92
      error_plus(EX_OSFILE, errno, "mkfifo");
99
 
      __builtin_unreachable();
100
93
    case ENAMETOOLONG:
101
94
    case ENOSPC:
102
95
    case EROFS:
103
96
    default:
104
97
      error_plus(EX_OSERR, errno, "mkfifo");
105
 
      __builtin_unreachable();
106
98
    case ENOENT:
107
99
      /* no "/lib/cryptsetup"? */
108
100
      error_plus(EX_UNAVAILABLE, errno, "mkfifo");
109
 
      __builtin_unreachable();
110
101
    case EEXIST:
111
102
      break;                    /* not an error */
112
103
    }