|
@@ -54,10 +54,10 @@ static void *do_notify(void *in) {
|
54
|
54
|
int e = 0;
|
55
|
55
|
unsigned int i, r;
|
56
|
56
|
char **env = calloc(32, sizeof(char *));
|
57
|
|
- asprintf(&env[e++], "_TS=%ld" , time(NULL));
|
58
|
|
- asprintf(&env[e++], "_IDENT=%s" , shared->ident);
|
59
|
|
- asprintf(&env[e++], "_MESSAGE_ID=%s" , shared->msg_id);
|
60
|
|
- asprintf(&env[e++], "_MESSAGE_TEXT=%s" , shared->text);
|
|
57
|
+ if (asprintf(&env[e++], "_TS=%ld" , time(NULL)) < 0) exit(EXIT_FAILURE);
|
|
58
|
+ if (asprintf(&env[e++], "_IDENT=%s" , shared->ident) < 0) exit(EXIT_FAILURE);
|
|
59
|
+ if (asprintf(&env[e++], "_MESSAGE_ID=%s" , shared->msg_id) < 0) exit(EXIT_FAILURE);
|
|
60
|
+ if (asprintf(&env[e++], "_MESSAGE_TEXT=%s" , shared->text) < 0) exit(EXIT_FAILURE);
|
61
|
61
|
r = strlen(shared->msg_id);
|
62
|
62
|
for (i=0; i<r; i++) {
|
63
|
63
|
if (isalpha(shared->msg_id[i]))
|
|
@@ -65,7 +65,7 @@ static void *do_notify(void *in) {
|
65
|
65
|
if (shared->msg_id[i] == '_')
|
66
|
66
|
shared->msg_id[i] = ' ';
|
67
|
67
|
}
|
68
|
|
- asprintf(&env[e++], "_MESSAGE_MSG=%s" , shared->msg_id);
|
|
68
|
+ if (asprintf(&env[e++], "_MESSAGE_MSG=%s" , shared->msg_id) < 0) exit(EXIT_FAILURE);
|
69
|
69
|
execve(args[0], args, env);
|
70
|
70
|
// We reach here only if there is an error.
|
71
|
71
|
fprintf(stderr, "execve('%s') failed: %s!\n", args[0], strerror(errno));
|