aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFrank Warmerdam <warmerdam@pobox.com>2003-08-21 02:15:59 +0000
committerFrank Warmerdam <warmerdam@pobox.com>2003-08-21 02:15:59 +0000
commit3b864a8fb3386de8e0b2d3447ff27622a7bdc221 (patch)
tree97b41454fc75d1e7f8734125b3bcac380dcad41e /src
parent29cd6e4fffd83e918386936f56549e8a42bbe9f9 (diff)
downloadPROJ-3b864a8fb3386de8e0b2d3447ff27622a7bdc221.tar.gz
PROJ-3b864a8fb3386de8e0b2d3447ff27622a7bdc221.zip
improve MAX_ARG checking
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1156 4e78687f-474d-0410-85f9-8d5e500ac6b2
Diffstat (limited to 'src')
-rw-r--r--src/pj_init.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/pj_init.c b/src/pj_init.c
index d132a6f8..5bb17638 100644
--- a/src/pj_init.c
+++ b/src/pj_init.c
@@ -30,6 +30,9 @@
******************************************************************************
*
* $Log$
+ * Revision 1.12 2003/08/21 02:15:59 warmerda
+ * improve MAX_ARG checking
+ *
* Revision 1.11 2003/06/09 21:23:16 warmerda
* ensure start is initialized at very beginning of pj_init()
*
@@ -161,13 +164,16 @@ pj_init_plus( const char *definition )
switch( defn_copy[i] )
{
case '+':
- if( argc+1 == MAX_ARG )
+ if( i == 0 || defn_copy[i-1] == '\0' )
{
- pj_errno = -44;
- return NULL;
+ if( argc+1 == MAX_ARG )
+ {
+ pj_errno = -44;
+ return NULL;
+ }
+
+ argv[argc++] = defn_copy + i + 1;
}
-
- argv[argc++] = defn_copy + i + 1;
break;
case ' ':