Fix GCC_ANALYZER_WARNING with -Wanalyzer-null-dereference
This commit is contained in:
parent
e5e10d1ebc
commit
17094f4695
@ -24,3 +24,70 @@ index 14a9db4..902c7ac 100644
|
|||||||
--
|
--
|
||||||
2.33.1
|
2.33.1
|
||||||
|
|
||||||
|
From 255323305b3621286cc4025ac59fa7d37fa1e7ce Mon Sep 17 00:00:00 2001
|
||||||
|
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||||
|
Date: Fri, 6 May 2022 20:33:47 +0900
|
||||||
|
Subject: [PATCH] src-main/context.c: Code reviews
|
||||||
|
|
||||||
|
---
|
||||||
|
src-main/context.c | 20 +++++++++++++++++++-
|
||||||
|
1 file changed, 19 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src-main/context.c b/src-main/context.c
|
||||||
|
index 20dde71..d84858c 100644
|
||||||
|
--- a/src-main/context.c
|
||||||
|
+++ b/src-main/context.c
|
||||||
|
@@ -451,7 +451,7 @@ anthy_get_nth_segment(struct segment_list *sl, int n)
|
||||||
|
n < 0) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
- for (i = 0, se = sl->list_head.next; i < n; i++, se = se->next);
|
||||||
|
+ for (i = 0, se = sl->list_head.next; (i < n) && se; i++, se = se->next);
|
||||||
|
return se;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -499,6 +499,17 @@ get_change_state(struct anthy_context *ac)
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < ac->seg_list.nr_segments; i++) {
|
||||||
|
struct seg_ent *s = anthy_get_nth_segment(&ac->seg_list, i);
|
||||||
|
+ if (!ac->split_info.ce) {
|
||||||
|
+ anthy_log(0, "ac->split_info.ce is NULL %s:%d\n", __FILE__, __LINE__);
|
||||||
|
+ resize = 1;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ if (!s) {
|
||||||
|
+ anthy_log(0, "ac->seg_list %dth entry is NULL %s:%d\n",
|
||||||
|
+ i, __FILE__, __LINE__);
|
||||||
|
+ resize = 1;
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
if (ac->split_info.ce[s->from].initial_seg_len != s->len) {
|
||||||
|
resize = 1;
|
||||||
|
}
|
||||||
|
@@ -538,6 +549,11 @@ write_history(int fd,
|
||||||
|
struct seg_ent *s = anthy_get_nth_segment(&ac->seg_list, i);
|
||||||
|
char *c;
|
||||||
|
/**/
|
||||||
|
+ if (!s) {
|
||||||
|
+ anthy_log(0, "ac->seg_list %dth entry is NULL %s:%d\n",
|
||||||
|
+ i, __FILE__, __LINE__);
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
if (s->committed < 0) {
|
||||||
|
dprintf(fd, "?|");
|
||||||
|
continue ;
|
||||||
|
@@ -647,9 +663,11 @@ print_segment(struct seg_ent *e)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
+ assert(e);
|
||||||
|
anthy_putxstr(&e->str);
|
||||||
|
printf("(");
|
||||||
|
for ( i = 0 ; i < e->nr_cands ; i++) {
|
||||||
|
+ assert(e->cands);
|
||||||
|
anthy_print_candidate(e->cands[i]);
|
||||||
|
printf(",");
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.35.1
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
Name: anthy-unicode
|
Name: anthy-unicode
|
||||||
Version: 1.0.0.20211224
|
Version: 1.0.0.20211224
|
||||||
Release: 4%{?dist}
|
Release: 5%{?dist}
|
||||||
# The entire source code is LGPLv2+ and dictionaries is GPLv2. the corpus data is under Public Domain.
|
# The entire source code is LGPLv2+ and dictionaries is GPLv2. the corpus data is under Public Domain.
|
||||||
License: LGPLv2+ and GPLv2 and Public Domain
|
License: LGPLv2+ and GPLv2 and Public Domain
|
||||||
URL: https://github.com/fujiwarat/anthy-unicode/wiki
|
URL: https://github.com/fujiwarat/anthy-unicode/wiki
|
||||||
@ -168,6 +168,9 @@ cd ..
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri May 06 2022 Takao Fujiwara <fujiwara@redhat.com> 1.0.0.20211224-5
|
||||||
|
- Fix GCC_ANALYZER_WARNING with -Wanalyzer-null-dereference
|
||||||
|
|
||||||
* Fri Feb 11 2022 Takao Fujiwara <fujiwara@redhat.com> 1.0.0.20211224-4
|
* Fri Feb 11 2022 Takao Fujiwara <fujiwara@redhat.com> 1.0.0.20211224-4
|
||||||
- Resolves: #2051670 xemacs is a dead package
|
- Resolves: #2051670 xemacs is a dead package
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user