mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Use snprintf instead of memcpy in mrbc.c.
This commit is contained in:
@@ -53,19 +53,13 @@ static char *
|
|||||||
get_outfilename(mrb_state *mrb, char *infile, const char *ext)
|
get_outfilename(mrb_state *mrb, char *infile, const char *ext)
|
||||||
{
|
{
|
||||||
size_t infilelen;
|
size_t infilelen;
|
||||||
size_t extlen;
|
size_t flen;
|
||||||
char *outfile;
|
char *outfile;
|
||||||
char *p;
|
|
||||||
|
|
||||||
infilelen = strlen(infile);
|
infilelen = strlen(infile);
|
||||||
extlen = strlen(ext);
|
flen = infilelen + strlen(ext) + 1;
|
||||||
outfile = (char*)mrb_malloc(mrb, infilelen + extlen + 1);
|
outfile = (char*)mrb_malloc(mrb, flen);
|
||||||
memcpy(outfile, infile, infilelen + 1);
|
snprintf(outfile, flen, "%s%s", infile, ext);
|
||||||
if (*ext) {
|
|
||||||
if ((p = strrchr(outfile, '.')) == NULL)
|
|
||||||
p = outfile + infilelen;
|
|
||||||
memcpy(p, ext, extlen + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
return outfile;
|
return outfile;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user