[PATCH] replace malloc+strlen+strcpy with strdup
Matt Turner
mattst88 at gmail.com
Sun Aug 1 20:41:04 PDT 2010
On Sun, Aug 1, 2010 at 10:46 PM, Keith Packard <keithp at keithp.com> wrote:
> On Sun, 1 Aug 2010 20:13:03 -0400, Matt Turner <mattst88 at gmail.com> wrote:
>> On Sat, Jun 19, 2010 at 1:59 PM, <mattst88 at gmail.com> wrote:
>> > From: Matt Turner <mattst88 at gmail.com>
>> >
>> > Signed-off-by: Matt Turner <mattst88 at gmail.com>
>> > ---
>> > dix/extension.c | 3 +--
>> > hw/xfree86/common/xf86Init.c | 6 ++----
>> > hw/xfree86/parser/scan.c | 6 ++----
>> > 3 files changed, 5 insertions(+), 10 deletions(-)
>> >
>> > diff --git a/dix/extension.c b/dix/extension.c
>> > index c8e921a..1e340ce 100644
>> > --- a/dix/extension.c
>> > +++ b/dix/extension.c
>> > @@ -164,10 +164,9 @@ Bool AddExtensionAlias(char *alias, ExtensionEntry *ext)
>> > if (!aliases)
>> > return FALSE;
>> > ext->aliases = aliases;
>> > - name = malloc(strlen(alias) + 1);
>> > + name = strdup(alias);
>> > if (!name)
>> > return FALSE;
>> > - strcpy(name, alias);
>> > ext->aliases[ext->num_aliases] = name;
>> > ext->num_aliases++;
>> > return TRUE;
>> > diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
>> > index ca532ee..4195a09 100644
>> > --- a/hw/xfree86/common/xf86Init.c
>> > +++ b/hw/xfree86/common/xf86Init.c
>> > @@ -1067,10 +1067,9 @@ ddxProcessArgument(int argc, char **argv, int i)
>> > {
>> > char *mp;
>> > CHECK_FOR_REQUIRED_ARGUMENT();
>> > - mp = malloc(strlen(argv[i + 1]) + 1);
>> > + mp = strdup(argv[i + 1]);
>> > if (!mp)
>> > FatalError("Can't allocate memory for ModulePath\n");
>> > - strcpy(mp, argv[i + 1]);
>> > xf86ModulePath = mp;
>> > xf86ModPathFrom = X_CMDLINE;
>> > return 2;
>> > @@ -1079,10 +1078,9 @@ ddxProcessArgument(int argc, char **argv, int i)
>> > {
>> > char *lf;
>> > CHECK_FOR_REQUIRED_ARGUMENT();
>> > - lf = malloc(strlen(argv[i + 1]) + 1);
>> > + lf = strdup(argv[i + 1]);
>> > if (!lf)
>> > FatalError("Can't allocate memory for LogFile\n");
>> > - strcpy(lf, argv[i + 1]);
>> > xf86LogFile = lf;
>> > xf86LogFileFrom = X_CMDLINE;
>> > return 2;
>> > diff --git a/hw/xfree86/parser/scan.c b/hw/xfree86/parser/scan.c
>> > index 5312143..ada3910 100644
>> > --- a/hw/xfree86/parser/scan.c
>> > +++ b/hw/xfree86/parser/scan.c
>> > @@ -451,8 +451,7 @@ again:
>> > }
>> > while ((c != '\"') && (c != '\n') && (c != '\r') && (c != '\0'));
>> > configRBuf[i] = '\0';
>> > - val.str = malloc (strlen (configRBuf) + 1);
>> > - strcpy (val.str, configRBuf); /* private copy ! */
>> > + val.str = strdup(configRBuf); /* private copy ! */
>> > return STRING;
>> > }
>> >
>> > @@ -1088,8 +1087,7 @@ void
>> > xf86setSection (char *section)
>> > {
>> > free(configSection);
>> > - configSection = malloc(strlen (section) + 1);
>> > - strcpy (configSection, section);
>> > + configSection = strdup(section);
>> > }
>> >
>> > /*
>> > --
>> > 1.6.4.4
>>
>> Ready to be applied, Keith. (I totally forgot to ping you about this.)
>
> No worries; changes like this are welcome, but not for 1.9 as we're
> getting close to the release and only merging patches that fix known
> issues. I'm not currently tracking fixes to be applied after 1.9.
>
> --
> keith.packard at intel.com
>
I guess this should actually go to you then, Peter. (Make sure to grab
the attachment too--it's an additional change.)
Thanks,
Matt
More information about the xorg-devel
mailing list