/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/mandos-client.c

* plugin-runner.c (add_to_char_array): Added "nonnull" attribute.
  (add_argument): Added "nonnull" attribute on the "arg" argument.
  (add_environment): Added "nonnull" attribute on the "def" argument.
  (print_out_password, free_plugin): Added "nonnull" attribute.
  (main/parse_opt): Added "nonnull" attribute on the "state" argument.
* plugins.d/mandos-client.c (perror_plus): Bug fix; restore errno
                                           after fprintf().
* plugins.d/password-prompt.c (fprintf_plus): New.
 (conflict_detection/is_plymouth, main/parse_opt): Added "nonnull"
                                                   attribute.
 (conflict_detection/is_plymouth, conflict_detection, main): Bug fix;
                                                             Call
                                                             error_plus()
                                                             instead
                                                             of
                                                             error().
  (main/parse_opt): Added "nonnull" attribute on the "state" argument.
* plugins.d/plymouth.c (exec_and_wait): Added "nonnull" attribute on
                                        the "path" and "argv"
                                        arguments.
  (is_plymouth): Added "nonnull" attribute.

Show diffs side-by-side

added added

removed removed

Lines of Context:
170
170
 
171
171
/* Function to use when printing errors */
172
172
void perror_plus(const char *print_text){
 
173
  int e = errno;
173
174
  fprintf(stderr, "Mandos plugin %s: ",
174
175
          program_invocation_short_name);
 
176
  errno = e;
175
177
  perror(print_text);
176
178
}
177
179
 
 
180
__attribute__((format (gnu_printf, 2, 3)))
178
181
int fprintf_plus(FILE *stream, const char *format, ...){
179
182
  va_list ap;
180
183
  va_start (ap, format);
1470
1473
          _exit(EX_OSERR);
1471
1474
        }
1472
1475
        free(delaystring);
1473
 
        ret = execl(fullname, direntry->d_name, mode, NULL);
1474
 
        perror_plus("execl");
 
1476
        if(execl(fullname, direntry->d_name, mode, NULL) == -1){
 
1477
          perror_plus("execl");
 
1478
          _exit(EXIT_FAILURE);
 
1479
        }
1475
1480
      } else {
1476
1481
        int status;
1477
1482
        if(TEMP_FAILURE_RETRY(waitpid(hook_pid, &status, 0)) == -1){