Projects
Mega:23.03
shadow
_service:tar_scm:backport-Explicitly-override-o...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-Explicitly-override-only-newlines.patch of Package shadow
From ffc480c2e93f05266e4b130229877ad13f71a8c0 Mon Sep 17 00:00:00 2001 From: Samanta Navarro <ferivoz@riseup.net> Date: Mon, 30 Jan 2023 11:53:47 +0000 Subject: [PATCH] Explicitly override only newlines Override only newlines with '\0' to avoid undesired truncation of actual line content. Signed-off-by: Samanta Navarro <ferivoz@riseup.net> --- lib/port.c | 6 +++--- libmisc/console.c | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/port.c b/lib/port.c index 0bea2ef4..90eb1498 100644 --- a/lib/port.c +++ b/lib/port.c @@ -130,8 +130,8 @@ static struct port *getportent (void) again: /* - * Get the next line and remove the last character, which - * is a '\n'. Lines which begin with '#' are all ignored. + * Get the next line and remove optional trailing '\n'. + * Lines which begin with '#' are all ignored. */ if (fgets (buf, (int) sizeof buf, ports) == 0) { @@ -149,7 +149,7 @@ static struct port *getportent (void) * TTY devices. */ - buf[strlen (buf) - 1] = 0; + buf[strcspn (buf, "\n")] = 0; port.pt_names = ttys; for (cp = buf, j = 0; j < PORT_TTY; j++) { diff --git a/libmisc/console.c b/libmisc/console.c index bc024eba..63d3ceb3 100644 --- a/libmisc/console.c +++ b/libmisc/console.c @@ -71,7 +71,8 @@ static bool is_listed (const char *cfgin, const char *tty, bool def) */ while (fgets (buf, (int) sizeof (buf), fp) != NULL) { - buf[strlen (buf) - 1] = '\0'; + /* Remove optional trailing '\n'. */ + buf[strcspn (buf, "\n")] = '\0'; if (strcmp (buf, tty) == 0) { (void) fclose (fp); return true; -- 2.27.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2