| Index: gcc/libgfortran/intrinsics/args.c
|
| diff --git a/gcc/libgfortran/intrinsics/args.c b/gcc/libgfortran/intrinsics/args.c
|
| index 7187beccb74af89eda34c4c5d2a9f63f50976692..545cfe506b39afcc04918f664ab3d3317003446c 100644
|
| --- a/gcc/libgfortran/intrinsics/args.c
|
| +++ b/gcc/libgfortran/intrinsics/args.c
|
| @@ -1,6 +1,7 @@
|
| /* Implementation of the GETARG and IARGC g77, and
|
| corresponding F2003, intrinsics.
|
| - Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
|
| + Copyright (C) 2004, 2005, 2007, 2009, 2010
|
| + Free Software Foundation, Inc.
|
| Contributed by Bud Davis and Janne Blomqvist.
|
|
|
| This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
| @@ -147,11 +148,9 @@ get_command_argument_i4 (GFC_INTEGER_4 *number, char *value,
|
| if (value != NULL && stat_flag != GFC_GC_FAILURE)
|
| {
|
| if (arglen > value_len)
|
| - {
|
| - arglen = value_len;
|
| stat_flag = GFC_GC_VALUE_TOO_SHORT;
|
| - }
|
| - memcpy (value, argv[*number], arglen);
|
| +
|
| + memcpy (value, argv[*number], arglen <= value_len ? arglen : value_len);
|
| }
|
|
|
| if (length != NULL)
|
|
|