rem: char storage[strlen(optarg) + 2];
add: if (!optarg) exit_error(PARAMETER_PROBLEM, "missing optarg");
context: parse(int c, char **argv, int invert, unsigned int *flags,      const struct ipt_entry *entry,      unsigned int *nfcache,      struct ipt_entry_match **match){	struct ipt_psd_info *psdinfo = (struct ipt_psd_info *)(*match)->data;	unsigned int num;	char storage[strlen(optarg) + 2];	/* string_to_number needs a leading space */	storage[0] = ' ';	strcpy(&storage[1], optarg);	switch (c) {	/* PSD-weight-threshold */	case '1':		if (*flags & IPT_PSD_OPT_CTRESH)			exit_error(PARAMETER_PROBLEM,				   "Can't specify --psd-weight-threshold "				   "twice");                if (string_to_number(storage, 0, 10000, &num) == -1)                        exit_error(PARAMETER_PROBLEM,                                   "bad --psd-weight-threshold `%s'", optarg);		psdinfo->weight_threshold = num;		*flags |= IPT_PSD_OPT_CTRESH;		break;	/* PSD-delay-threshold */	case '2':		if (*flags & IPT_PSD_OPT_DTRESH)			exit_error(PARAMETER_PROBLEM,				   "Can't specify --psd-delay-threshold twice");                if (string_to_number(storage, 0, 10000, &num) == -1)                        exit_error(PARAMETER_PROBLEM,                                   "bad --psd-delay-threshold `%s'", optarg);		psdinfo->delay_threshold = num;		*flags |= IPT_PSD_OPT_DTRESH;		break;	/* PSD-lo-ports-weight */	case '3':		if (*flags & IPT_PSD_OPT_LPWEIGHT)			exit_error(PARAMETER_PROBLEM,				   "Can't specify --psd-lo-ports-weight twice");                if (string_to_number(storage, 0, 10000, &num) == -1)                        exit_error(PARAMETER_PROBLEM,                                   "bad --psd-lo-ports-weight `%s'", optarg);		psdinfo->lo_ports_weight = num;		*flags |= IPT_PSD_OPT_LPWEIGHT;		break;	/* PSD-hi-ports-weight */	case '4':		if (*flags & IPT_PSD_OPT_HPWEIGHT)			exit_error(PARAMETER_PROBLEM,				   "Can't specify --psd-hi-ports-weight twice");                if (string_to_number(storage, 0, 10000, &num) == -1)                        exit_error(PARAMETER_PROBLEM,                                   "bad --psd-hi-ports-weight `%s'", optarg);		psdinfo->hi_ports_weight = num;		*flags |= IPT_PSD_OPT_HPWEIGHT;		break;	default:		return 0;	}	return 1;}