plug another leak in addctag; found + ok tb@
authorop <op@openbsd.org>
Wed, 22 Mar 2023 22:09:37 +0000 (22:09 +0000)
committerop <op@openbsd.org>
Wed, 22 Mar 2023 22:09:37 +0000 (22:09 +0000)
usr.bin/mg/tags.c

index cd87ee5..0e44c0f 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: tags.c,v 1.22 2023/03/22 19:42:41 op Exp $    */
+/*     $OpenBSD: tags.c,v 1.23 2023/03/22 22:09:37 op Exp $    */
 
 /*
  * This file is in the public domain.
@@ -388,7 +388,8 @@ addctag(char *s)
        if (*l == '\0')
                goto cleanup;
        t->pat = strip(l, strlen(l));
-       RB_INSERT(tagtree, &tags, t);
+       if (RB_INSERT(tagtree, &tags, t) != NULL)
+               goto cleanup;
        return (TRUE);
 cleanup:
        free(t);