[PATCH] EnableDisableExtensionError: Use ARRAY_SIZE rather than sentinel

Peter Hutterer peter.hutterer at who-t.net
Tue Dec 18 13:51:44 PST 2012


On Tue, Dec 18, 2012 at 12:58:16AM -0800, Alan Coopersmith wrote:
> d785368e0e converted the other miinitext functions to use ARRAY_SIZE,
> and removed the sentinel, but missed EnableDisableExtensionError so
> passing an invalid extension name could cause the server to walk off
> the end off the list looking for a sentinel that wasn't there.
> 
> Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>

Cheers,
   Peter


> ---
>  mi/miinitext.c |    9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/mi/miinitext.c b/mi/miinitext.c
> index 369da5e..81c663a 100644
> --- a/mi/miinitext.c
> +++ b/mi/miinitext.c
> @@ -212,10 +212,12 @@ EnableDisableExtension(const char *name, Bool enable)
>  void
>  EnableDisableExtensionError(const char *name, Bool enable)
>  {
> -    ExtensionToggle *ext = &ExtensionToggleList[0];
> +    ExtensionToggle *ext;
> +    int i;
>      Bool found = FALSE;
>  
> -    for (ext = &ExtensionToggleList[0]; ext->name != NULL; ext++) {
> +    for (i = 0; i < ARRAY_SIZE(ExtensionToggleList); i++) {
> +        ext = &ExtensionToggleList[i];
>          if ((strcmp(name, ext->name) == 0) && (ext->disablePtr == NULL)) {
>              ErrorF("[mi] Extension \"%s\" can not be disabled\n", name);
>              found = TRUE;
> @@ -226,7 +228,8 @@ EnableDisableExtensionError(const char *name, Bool enable)
>          ErrorF("[mi] Extension \"%s\" is not recognized\n", name);
>      ErrorF("[mi] Only the following extensions can be run-time %s:\n",
>             enable ? "enabled" : "disabled");
> -    for (ext = &ExtensionToggleList[0]; ext->name != NULL; ext++) {
> +    for (i = 0; i < ARRAY_SIZE(ExtensionToggleList); i++) {
> +        ext = &ExtensionToggleList[i];
>          if (ext->disablePtr != NULL) {
>              ErrorF("[mi]    %s\n", ext->name);
>          }
> -- 
> 1.7.9.2
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 


More information about the xorg-devel mailing list