update credits
[LibreOffice.git] / external / gpgmepp / ubsan.patch
blob5a6e6dcdc9b299154e8584a2baa49a8d759cfdb4
1 --- src/engine-gpg.c
2 +++ src/engine-gpg.c
3 @@ -60,6 +60,15 @@
4 building command line to this location. */
5 char arg[1]; /* Used if data above is not used. */
6 };
7 +struct arg_without_data_s
8 +{
9 + struct arg_and_data_s *next;
10 + gpgme_data_t data;
11 + int inbound;
12 + int dup_to;
13 + int print_fd;
14 + int *arg_locp;
15 +};
18 struct fd_data_map_s
19 @@ -299,23 +308,24 @@
20 a = malloc (sizeof *a - 1);
21 if (!a)
22 return gpg_error_from_syserror ();
23 - a->next = NULL;
24 - a->data = data;
25 - a->inbound = inbound;
26 - a->arg_locp = NULL;
27 + struct arg_without_data_s *a2 = (struct arg_without_data_s *)a;
28 + a2->next = NULL;
29 + a2->data = data;
30 + a2->inbound = inbound;
31 + a2->arg_locp = NULL;
33 if (dup_to == -2)
35 - a->print_fd = 1;
36 - a->dup_to = -1;
37 + a2->print_fd = 1;
38 + a2->dup_to = -1;
40 else
42 - a->print_fd = 0;
43 - a->dup_to = dup_to;
44 + a2->print_fd = 0;
45 + a2->dup_to = dup_to;
47 *gpg->argtail = a;
48 - gpg->argtail = &a->next;
49 + gpg->argtail = &a2->next;
50 return 0;