[augeas-devel] [PATCH] src/fa.c (string_extend): Handle realloc failure
Jim Meyering
jim at meyering.net
Thu Apr 24 20:54:22 UTC 2008
Upon failed realloc, this code would segfault.
Here's a patch:
changeset: 410:839286862a8b
tag: tip
user: Jim Meyering <meyering at redhat.com>
date: Thu Apr 24 18:21:43 2008 +0200
files: src/fa.c
description:
* src/fa.c (string_extend): Handle realloc failure.
diff --git a/src/fa.c b/src/fa.c
--- a/src/fa.c
+++ b/src/fa.c
@@ -1990,10 +1990,13 @@
|| *dst == '\0'
|| str_score(src) + chr_score(c) < str_score(dst)) {
int slen = strlen(src);
- dst = realloc(dst, slen + 2);
- strncpy(dst, src, slen);
- dst[slen] = c;
- dst[slen + 1] = '\0';
+ char *new_dst = realloc(dst, slen + 2);
+ if (new_dst) {
+ dst = new_dst;
+ strncpy(dst, src, slen);
+ dst[slen] = c;
+ dst[slen + 1] = '\0';
+ }
}
return dst;
}
More information about the augeas-devel
mailing list