apps/apps.c:272: error: NULL_DEREFERENCE
  pointer `arg->data` last assigned on line 269 could be null and is dereferenced at line 272, column 3.
Showing all 11 steps of the trace


apps/apps.c:256:1: start of procedure chopup_args()
254.   #endif
255.   
256. > int chopup_args(ARGS *arg, char *buf, int *argc, char **argv[])
257.   	{
258.   	int num,len,i;

apps/apps.c:261:2: 
259.   	char *p;
260.   
261. > 	*argc=0;
262.   	*argv=NULL;
263.   

apps/apps.c:262:2: 
260.   
261.   	*argc=0;
262. > 	*argv=NULL;
263.   
264.   	len=strlen(buf);

apps/apps.c:264:2: 
262.   	*argv=NULL;
263.   
264. > 	len=strlen(buf);
265.   	i=0;
266.   	if (arg->count == 0)

apps/apps.c:265:2: 
263.   
264.   	len=strlen(buf);
265. > 	i=0;
266.   	if (arg->count == 0)
267.   		{

apps/apps.c:266:6: Taking true branch
264.   	len=strlen(buf);
265.   	i=0;
266.   	if (arg->count == 0)
            ^
267.   		{
268.   		arg->count=20;

apps/apps.c:268:3: 
266.   	if (arg->count == 0)
267.   		{
268. > 		arg->count=20;
269.   		arg->data=(char **)Malloc(sizeof(char *)*arg->count);
270.   		}

apps/apps.c:269:3: 
267.   		{
268.   		arg->count=20;
269. > 		arg->data=(char **)Malloc(sizeof(char *)*arg->count);
270.   		}
271.   	for (i=0; i<arg->count; i++)

apps/apps.c:271:7: 
269.   		arg->data=(char **)Malloc(sizeof(char *)*arg->count);
270.   		}
271. > 	for (i=0; i<arg->count; i++)
272.   		arg->data[i]=NULL;
273.   

apps/apps.c:271:12: Loop condition is true. Entering loop body
269.   		arg->data=(char **)Malloc(sizeof(char *)*arg->count);
270.   		}
271.   	for (i=0; i<arg->count; i++)
                  ^
272.   		arg->data[i]=NULL;
273.   

apps/apps.c:272:3: 
270.   		}
271.   	for (i=0; i<arg->count; i++)
272. > 		arg->data[i]=NULL;
273.   
274.   	num=0;
