Author: oshogbo
Date: Thu Sep 21 10:03:14 2017
New Revision: 323852
URL: https://svnweb.freebsd.org/changeset/base/323852

Log:
  The 'while (array != NULL) { }' suggests scan-build that array may be
  initially NULL, which is not possible. Change the loop to
  'do {} while (array != NULL)' to satisfy scan-build and assert that
  array really cannot be NULL just in case.
  
  Submitted by: pjd@
  Found by:     scan-build
  MFC after:    1 month
  Sponsored by: Wheel Systems

Modified:
  head/sys/contrib/libnv/nvlist.c

Modified: head/sys/contrib/libnv/nvlist.c
==============================================================================
--- head/sys/contrib/libnv/nvlist.c     Thu Sep 21 10:00:16 2017        
(r323851)
+++ head/sys/contrib/libnv/nvlist.c     Thu Sep 21 10:03:14 2017        
(r323852)
@@ -1200,12 +1200,13 @@ nvlist_xunpack(const void *buf, size_t size, const int
                            &array);
                        if (ptr == NULL)
                                goto failed;
+                       PJDLOG_ASSERT(array != NULL);
                        tmpnvl = array;
-                       while (array != NULL) {
+                       do {
                                nvlist_set_parent(array, nvp);
                                array = __DECONST(nvlist_t *,
                                    nvlist_get_array_next(array));
-                       }
+                       } while (array != NULL);
                        ptr = nvlist_unpack_header(tmpnvl, ptr, nfds, &isbe,
                            &left);
                        break;
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to