]> wimlib.net Git - wimlib/commitdiff
security.c: avoid NULL + 0 UBSAN error
authorEric Biggers <ebiggers3@gmail.com>
Mon, 27 Mar 2023 00:25:46 +0000 (17:25 -0700)
committerEric Biggers <ebiggers3@gmail.com>
Mon, 27 Mar 2023 00:25:46 +0000 (17:25 -0700)
UBSAN complains about adding 0 to NULL.  Avoid this.

src/security.c

index 714e1034a9f2dc539d15160742141affd3f5122b..f674fa9a9f34968b794b4280597652b0b64d33f1 100644 (file)
@@ -5,7 +5,7 @@
  */
 
 /*
- * Copyright (C) 2012, 2013, 2014 Eric Biggers
+ * Copyright 2012-2023 Eric Biggers
  *
  * This file is free software; you can redistribute it and/or modify it under
  * the terms of the GNU Lesser General Public License as published by the Free
@@ -242,10 +242,10 @@ void
 rollback_new_security_descriptors(struct wim_sd_set *sd_set)
 {
        struct wim_security_data *sd = sd_set->sd;
-       u8 **descriptors = sd->descriptors + sd_set->orig_num_entries;
-       u32 num_entries  = sd->num_entries - sd_set->orig_num_entries;
-       while (num_entries--)
-               FREE(*descriptors++);
+       u32 i;
+
+       for (i = sd_set->orig_num_entries; i < sd->num_entries; i++)
+               FREE(sd->descriptors[i]);
        sd->num_entries = sd_set->orig_num_entries;
 }