From: Zhiqiang Liu <[email protected]>
In lsattr_dir_proc(), if malloc() return NULL, it will cause
a segmentation fault problem.
Signed-off-by: Zhiqiang Liu <[email protected]>
Signed-off-by: Wu Guanghao <[email protected]>
---
misc/lsattr.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/misc/lsattr.c b/misc/lsattr.c
index 0d954376..f3212069 100644
--- a/misc/lsattr.c
+++ b/misc/lsattr.c
@@ -144,6 +144,12 @@ static int lsattr_dir_proc (const char * dir_name, struct dirent * de,
int dir_len = strlen(dir_name);
path = malloc(dir_len + strlen (de->d_name) + 2);
+ if (!path) {
+ fprintf(stderr, "%s",
+ _("Couldn't allocate path variable "
+ "in lsattr_dir_proc"));
+ return -1;
+ }
if (dir_len && dir_name[dir_len-1] == '/')
sprintf (path, "%s%s", dir_name, de->d_name);
--
2.19.1
On Wed, Jun 30, 2021 at 04:27:23PM +0800, wuguanghao wrote:
>
> diff --git a/misc/lsattr.c b/misc/lsattr.c
> index 0d954376..f3212069 100644
> --- a/misc/lsattr.c
> +++ b/misc/lsattr.c
> @@ -144,6 +144,12 @@ static int lsattr_dir_proc (const char * dir_name, struct dirent * de,
> int dir_len = strlen(dir_name);
>
> path = malloc(dir_len + strlen (de->d_name) + 2);
> + if (!path) {
> + fprintf(stderr, "%s",
> + _("Couldn't allocate path variable "
> + "in lsattr_dir_proc"));
> + return -1;
> + }
The string is missing a closing newline. Also, why not?
fputs(_("Couldn't allocate path variable in lsattr_dir_proc"),
stderr);
- Ted
On 2021/7/16 11:58, Theodore Y. Ts'o wrote:
> On Wed, Jun 30, 2021 at 04:27:23PM +0800, wuguanghao wrote:
>> diff --git a/misc/lsattr.c b/misc/lsattr.c
>> index 0d954376..f3212069 100644
>> --- a/misc/lsattr.c
>> +++ b/misc/lsattr.c
>> @@ -144,6 +144,12 @@ static int lsattr_dir_proc (const char * dir_name, struct dirent * de,
>> int dir_len = strlen(dir_name);
>>
>> path = malloc(dir_len + strlen (de->d_name) + 2);
>> + if (!path) {
>> + fprintf(stderr, "%s",
>> + _("Couldn't allocate path variable "
>> + "in lsattr_dir_proc"));
>> + return -1;
>> + }
> The string is missing a closing newline. Also, why not?
>
> fputs(_("Couldn't allocate path variable in lsattr_dir_proc"),
> stderr);
>
> - Ted
>
> .
Thanks for your suggestion.
We will resend the v3 patch as your suggestion.