summaryrefslogtreecommitdiff
path: root/shells/scponly/files/patch-helper.c
diff options
context:
space:
mode:
Diffstat (limited to 'shells/scponly/files/patch-helper.c')
-rw-r--r--shells/scponly/files/patch-helper.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/shells/scponly/files/patch-helper.c b/shells/scponly/files/patch-helper.c
index 6d04529d5cde..bd90445ad78b 100644
--- a/shells/scponly/files/patch-helper.c
+++ b/shells/scponly/files/patch-helper.c
@@ -1,26 +1,27 @@
--- helper.c.orig 2010-09-08 05:58:11 UTC
+++ helper.c
-@@ -323,16 +323,20 @@ int valid_arg_vector(char **av)
+@@ -323,16 +323,22 @@ int valid_arg_vector(char **av)
char *substitute_known_path(char *request)
{
cmd_t *cmd=commands;
- char *stripped_req=strdup(basename(request));
-+ char *stripped_req=strdup(request);
-+ stripped_req=basename(stripped_req);
++ char *mrequest=strdup(request);
++ char *stripped_req=strdup(basename(mrequest));
++ free(mrequest);
while (cmd != NULL)
{
-+ char *nname;
++ char *mname;
if (cmd->name == NULL)
break;
- if (exact_match(basename(cmd->name),stripped_req))
-+ nname = strdup(cmd->name);
-+ if (exact_match(basename(nname),stripped_req))
++ mname = strdup(cmd->name);
++ if (exact_match(basename(mname),stripped_req))
{
free(stripped_req); /* discard old pathname */
-- return (strdup(cmd->name));
-+ return (nname);
++ free(mname);
+ return (strdup(cmd->name));
}
-+ free(nname);
++ free(mname);
cmd++;
}
return (stripped_req);