[augeas-devel] (make_path): avoid buffer overrun
Jim Meyering
jim at meyering.net
Fri May 23 13:23:54 UTC 2008
Another edge case with "get /":
changeset: 489:c60956210601
tag: tip
user: Jim Meyering <meyering at redhat.com>
date: Fri May 23 15:14:55 2008 +0200
files: src/augeas.c
description:
"echo get /|augtool -n" would read one past end of malloc'd buffer
* src/augeas.c (make_path): Avoid buffer overrun.
diff --git a/src/augeas.c b/src/augeas.c
--- a/src/augeas.c
+++ b/src/augeas.c
@@ -135,7 +135,9 @@
for (const char *p = path; *p != '\0'; p++) {
if (*p == SEP) {
while (*p == SEP) p++;
- if (*p) result->nsegments++;
+ if (*p == '\0')
+ break;
+ result->nsegments++;
}
}
if (result->nsegments == 0)
More information about the augeas-devel
mailing list