git-remote-testgit: fix error handling
[gitweb.git] / strbuf.h
index 07060ce893d8303b7eb4d78db0f7a5575527f88f..9e6d9fa53fc04156452bf850af1a9b2d3ba830f2 100644 (file)
--- a/strbuf.h
+++ b/strbuf.h
@@ -3,8 +3,6 @@
 
 /* See Documentation/technical/api-strbuf.txt */
 
-#include <assert.h>
-
 extern char strbuf_slopbuf[];
 struct strbuf {
        size_t alloc;
@@ -33,9 +31,8 @@ static inline size_t strbuf_avail(const struct strbuf *sb) {
 extern void strbuf_grow(struct strbuf *, size_t);
 
 static inline void strbuf_setlen(struct strbuf *sb, size_t len) {
-       if (!sb->alloc)
-               strbuf_grow(sb, 0);
-       assert(len < sb->alloc);
+       if (len > (sb->alloc ? sb->alloc - 1 : 0))
+               die("BUG: strbuf_setlen() beyond buffer");
        sb->len = len;
        sb->buf[len] = '\0';
 }