The branch main has been updated by des:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=17355cf50fcbd0d8ddb638e1f2fd5861b526edbe

commit 17355cf50fcbd0d8ddb638e1f2fd5861b526edbe
Author:     Dag-Erling Smørgrav <[email protected]>
AuthorDate: 2026-01-03 20:34:44 +0000
Commit:     Dag-Erling Smørgrav <[email protected]>
CommitDate: 2026-01-03 20:37:18 +0000

    libgeom: Fix 32-bit gcc build
    
    MFC after:      1 week
    Fixes:          27894e20f140 ("libgeom: Fix segfault in 32-on-64 case")
---
 lib/libgeom/geom_xml2tree.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/libgeom/geom_xml2tree.c b/lib/libgeom/geom_xml2tree.c
index 03210947d431..a66938671845 100644
--- a/lib/libgeom/geom_xml2tree.c
+++ b/lib/libgeom/geom_xml2tree.c
@@ -71,6 +71,7 @@ StartElement(void *userData, const char *name, const char 
**attr)
        struct mystate *mt;
        void *id;
        void *ref;
+       uintmax_t umax;
        int i;
 
        mt = userData;
@@ -80,10 +81,12 @@ StartElement(void *userData, const char *name, const char 
**attr)
        ref = NULL;
        for (i = 0; attr[i] != NULL; i += 2) {
                if (strcmp(attr[i], "id") == 0) {
-                       id = (void *)strtoumax(attr[i + 1], NULL, 0);
+                       umax = strtoumax(attr[i + 1], NULL, 0);
+                       id = (void *)(uintptr_t)umax;
                        mt->nident++;
                } else if (strcmp(attr[i], "ref") == 0) {
-                       ref = (void *)strtoumax(attr[i + 1], NULL, 0);
+                       umax = strtoumax(attr[i + 1], NULL, 0);
+                       ref = (void *)(uintptr_t)umax;
                }
        }
        if (strcmp(name, "class") == 0 && mt->class == NULL) {

Reply via email to