[hackers] [xssstate] Update arg.h to be without the out of bound bug. || Christoph Lohmann

From: <git_AT_suckless.org>
Date: Sat, 27 Feb 2016 23:19:42 +0100 (CET)

commit 7cbc05ec64a608a1abab780d030c6464ec02cee1
Author: Christoph Lohmann <20h_AT_r-36.net>
AuthorDate: Sat Feb 27 23:19:12 2016 +0100
Commit: Christoph Lohmann <20h_AT_r-36.net>
CommitDate: Sat Feb 27 23:19:12 2016 +0100

    Update arg.h to be without the out of bound bug.

diff --git a/arg.h b/arg.h
index a345b0b..ba3fb3f 100644
--- a/arg.h
+++ b/arg.h
_AT_@ -1,52 +1,48 @@
-/* See the LICENSE file for copyright and license details. */
+/*
+ * Copy me if you can.
+ * by 20h
+ */
 
-#ifndef __ARG_H__
-#define __ARG_H__
+#ifndef ARG_H__
+#define ARG_H__
 
 extern char *argv0;
 
-#define USED(x) ((void)(x))
-
 /* use main(int argc, char *argv[]) */
 #define ARGBEGIN for (argv0 = *argv, argv++, argc--;\
- argv[0] && argv[0][1]\
- && argv[0][0] == '-';\
+ argv[0] && argv[0][0] == '-'\
+ && argv[0][1];\
                                         argc--, argv++) {\
- char _argc;\
- char **_argv;\
- int brk;\
+ char argc_;\
+ char **argv_;\
+ int brk_;\
                                 if (argv[0][1] == '-' && argv[0][2] == '\0') {\
                                         argv++;\
                                         argc--;\
                                         break;\
                                 }\
- for (brk = 0, argv[0]++, _argv = argv;\
- argv[0][0] && !brk;\
+ for (brk_ = 0, argv[0]++, argv_ = argv;\
+ argv[0][0] && !brk_;\
                                                 argv[0]++) {\
- if (_argv != argv)\
+ if (argv_ != argv)\
                                                 break;\
- _argc = argv[0][0];\
- switch (_argc)
-
+ argc_ = argv[0][0];\
+ switch (argc_)
 #define ARGEND }\
- USED(_argc);\
- }\
- USED(argv);\
- USED(argc);
+ }
 
-#define ARGC() _argc
+#define ARGC() argc_
 
 #define EARGF(x) ((argv[0][1] == '\0' && argv[1] == NULL)?\
                                 ((x), abort(), (char *)0) :\
- (brk = 1, (argv[0][1] != '\0')?\
+ (brk_ = 1, (argv[0][1] != '\0')?\
                                         (&argv[0][1]) :\
                                         (argc--, argv++, argv[0])))
 
 #define ARGF() ((argv[0][1] == '\0' && argv[1] == NULL)?\
                                 (char *)0 :\
- (brk = 1, (argv[0][1] != '\0')?\
+ (brk_ = 1, (argv[0][1] != '\0')?\
                                         (&argv[0][1]) :\
                                         (argc--, argv++, argv[0])))
 
 #endif
-
Received on Sat Feb 27 2016 - 23:19:42 CET

This archive was generated by hypermail 2.3.0 : Sat Feb 27 2016 - 23:24:22 CET