1Combined upstream commits 980592386f23db8b0dc84c434805cb167d0cc091 and
25ef4ad86ec934282cba891922ec2d13784da3354.
3diff -u b/src/textcat.c b/src/textcat.c
4--- b/src/textcat.c
5+++ b/src/textcat.c
6@@ -212,8 +212,6 @@
7 sizeof(char) * (tmp_size + 1));
8 if (tmp == NULL)
9 {
10- free(finger_print_file_name);
11- finger_print_file_name_size = 0;
12 goto BAILOUT;
13 }
14 else
15@@ -226,10 +224,7 @@
16 strcat(finger_print_file_name, segment[0]);
17
18 if (fp_Read(h->fprint[h->size], finger_print_file_name, 400) == 0)
19- {
20- textcat_Done(h);
21 goto BAILOUT;
22- }
23 h->fprint_disable[h->size] = 0xF0; /* 0xF0 is the code for enabled
24 languages, 0x0F is for disabled
25 */
26@@ -242,9 +237,10 @@
27 return h;
28
29 BAILOUT:
30+ free(finger_print_file_name);
31 fclose(fp);
32+ textcat_Done(h);
33 return NULL;
34-
35 }
36
37 extern candidate_t *textcat_GetClassifyFullOutput(void *handle)