Projects
Factory:RISC-V:Base
bash
_service:tar_scm:bugfix-Forbidden-non-root-user...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:bugfix-Forbidden-non-root-user-to-clear-history.patch of Package bash
From 68c1a3a7b8277cb225ab221c3a6a4f239b81c9e1 Mon Sep 17 00:00:00 2001 From: shenyangyang <shenyangyang4@huawei.com> Date: Mon, 2 Sep 2019 22:30:32 -0400 Subject: [PATCH] bugfix-Forbidden-non-root-user-to-clear-history --- bashhist.c | 5 +++-- lib/readline/history.c | 8 +++++++- lib/readline/history.h | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/bashhist.c b/bashhist.c index d2155dc..e61bde6 100644 --- a/bashhist.c +++ b/bashhist.c @@ -345,8 +345,9 @@ load_history () void bash_clear_history () { - clear_history (); - history_lines_this_session = 0; + int ret = clear_history (); + if (ret == 0) + history_lines_this_session = 0; /* XXX - reset history_lines_read_from_file? */ } diff --git a/lib/readline/history.c b/lib/readline/history.c index 67158b1..3c1652b 100644 --- a/lib/readline/history.c +++ b/lib/readline/history.c @@ -590,9 +590,14 @@ history_is_stifled (void) return (history_stifled); } -void +int clear_history (void) { + uid_t uid = getuid(); + + if (uid) + return 1; + register int i; /* This loses because we cannot free the data. */ @@ -604,4 +609,5 @@ clear_history (void) history_offset = history_length = 0; history_base = 1; /* reset history base to default */ + return 0; } diff --git a/lib/readline/history.h b/lib/readline/history.h index cc3de29..78f8f52 100644 --- a/lib/readline/history.h +++ b/lib/readline/history.h @@ -110,7 +110,7 @@ extern histdata_t free_history_entry PARAMS((HIST_ENTRY *)); extern HIST_ENTRY *replace_history_entry PARAMS((int, const char *, histdata_t)); /* Clear the history list and start over. */ -extern void clear_history PARAMS((void)); +extern int clear_history PARAMS((void)); /* Stifle the history list, remembering only MAX number of entries. */ extern void stifle_history PARAMS((int)); -- 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