[glib: 4/7] Fix signedness warning in gio/gsimpleproxyresolver.c:ignore_host()




commit 8b4c6fcc00ed885bcc065517ac2eea49a7ebd4e6
Author: Emmanuel Fleury <emmanuel fleury gmail com>
Date:   Tue Nov 17 00:00:36 2020 +0100

    Fix signedness warning in gio/gsimpleproxyresolver.c:ignore_host()
    
    gio/gsimpleproxyresolver.c: In function ‘ignore_host’:
    gio/gsimpleproxyresolver.c:271:18: error: comparison of integer expressions of different signedness: 
‘gint’ {aka ‘int’} and ‘guint’ {aka ‘unsigned int’}
      271 |    for (i = 0; i < priv->ignore_ips->len; i++)
          |                  ^

 gio/gsimpleproxyresolver.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/gio/gsimpleproxyresolver.c b/gio/gsimpleproxyresolver.c
index 0dd3c4fc3..2d6009975 100644
--- a/gio/gsimpleproxyresolver.c
+++ b/gio/gsimpleproxyresolver.c
@@ -50,7 +50,7 @@
 
 typedef struct {
   gchar        *name;
-  gint          length;
+  gsize          length;
   gushort       port;
 } GSimpleProxyResolverDomain;
 
@@ -259,7 +259,8 @@ ignore_host (GSimpleProxyResolver *resolver,
   GSimpleProxyResolverPrivate *priv = resolver->priv;
   gchar *ascii_host = NULL;
   gboolean ignore = FALSE;
-  gint i, length, offset;
+  gsize offset, length;
+  guint i;
 
   if (priv->ignore_ips)
     {
@@ -297,6 +298,9 @@ ignore_host (GSimpleProxyResolver *resolver,
        {
          GSimpleProxyResolverDomain *domain = &priv->ignore_domains[i];
 
+          if (domain->length > length)
+            continue;
+
          offset = length - domain->length;
          if ((domain->port == 0 || domain->port == port) &&
              (offset == 0 || (offset > 0 && host[offset - 1] == '.')) &&


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]