summaryrefslogtreecommitdiffstats
path: root/lib/libc/locale/ldpart.c
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>2004-04-25 19:56:50 +0000
committerache <ache@FreeBSD.org>2004-04-25 19:56:50 +0000
commita7c84134a695d7794304f72f605b9783a2f257d6 (patch)
treec6facc7890e1896c9f7d24683ec077343a174448 /lib/libc/locale/ldpart.c
parent05ba732e146a0a3cc4309b3e384f72c52b8cb11d (diff)
downloadFreeBSD-src-a7c84134a695d7794304f72f605b9783a2f257d6.zip
FreeBSD-src-a7c84134a695d7794304f72f605b9783a2f257d6.tar.gz
Rewrite split_lines() to operate safely
PR: 62694 Submitted by: moulin p <moulin.p@calyopea.com>
Diffstat (limited to 'lib/libc/locale/ldpart.c')
-rw-r--r--lib/libc/locale/ldpart.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/libc/locale/ldpart.c b/lib/libc/locale/ldpart.c
index 3c35e20..ea7b388 100644
--- a/lib/libc/locale/ldpart.c
+++ b/lib/libc/locale/ldpart.c
@@ -153,9 +153,13 @@ split_lines(char *p, const char *plim)
{
int i;
- for (i = 0; p < plim; i++) {
- p = strchr(p, '\n');
- *p++ = '\0';
+ i = 0;
+ while (p < plim) {
+ if (*p == '\n') {
+ *p = '\0';
+ i++;
+ }
+ p++;
}
return (i);
}
OpenPOWER on IntegriCloud