shithub: s3

Download patch

ref: fae5aebbaf7a6061b4a0d3f90df86153383ce44d
parent: 0591d4ae19bb6ad8349f2d3bfda81a99bd04d956
author: Jacob Moody <moody@posixcafe.org>
date: Mon Nov 24 01:02:27 EST 2025

fix memory corruption for specific values and use Biobufhdr instead

--- a/xml.c
+++ b/xml.c
@@ -58,6 +58,8 @@
 		}
 
 		memmove(o, s, rsz);
+		if(*s == 0)
+			break;
 		s += rsz;
 		o += rsz;
 	}
@@ -238,7 +240,7 @@
 }
 
 Xelem *
-xmlread(Biobuf *b, int flags)
+xmlread(Biobufhdr *b, int flags)
 {
 	return xmlread_(b, nil, flags & Xmlstartonly);
 }
--- a/xml.h
+++ b/xml.h
@@ -23,7 +23,7 @@
 	Xmlstartonly = 1,
 };
 
-Xelem *xmlread(Biobuf *b, int flags);
+Xelem *xmlread(Biobufhdr *b, int flags);
 void xmlfree(Xelem *x);
 Xelem *xmlget(Xelem *x, char *path, ...);
 Xattr *xmlgetattr(Xattr *a, char *n);
--