=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/openssl/apps.c,v retrieving revision 1.16 retrieving revision 1.17 diff -c -r1.16 -r1.17 *** src/usr.bin/openssl/apps.c 2014/12/28 14:50:15 1.16 --- src/usr.bin/openssl/apps.c 2014/12/28 15:05:38 1.17 *************** *** 1,4 **** ! /* $OpenBSD: apps.c,v 1.16 2014/12/28 14:50:15 jsing Exp $ */ /* * Copyright (c) 2014 Joel Sing * --- 1,4 ---- ! /* $OpenBSD: apps.c,v 1.17 2014/12/28 15:05:38 jsing Exp $ */ /* * Copyright (c) 2014 Joel Sing * *************** *** 2252,2266 **** --- 2252,2273 ---- int i, j; int fmt; + if (unnamed != NULL) + *unnamed = NULL; + for (i = 1; i < argc; i++) { p = arg = argv[i]; + /* Single unnamed argument (without leading hyphen). */ if (*p++ != '-') { if (unnamed == NULL) goto unknown; + if (*unnamed != NULL) + goto toomany; *unnamed = arg; continue; } + if (*p == '\0') /* XXX - end of named options. */ goto unknown; *************** *** 2338,2343 **** --- 2345,2354 ---- } return (0); + + toomany: + fprintf(stderr, "too many arguments\n"); + return (1); unknown: fprintf(stderr, "unknown option '%s'\n", arg);