Procházet zdrojové kódy

libdpkg: Use varbuf_grow instead of increasing member used

The code assumes that the various varbuf functions will grow the
buffer if used > size, which is not going to be true once varbuf gets
internally switched to varbuf_grow from varbufextend.
Guillem Jover před 17 roky
rodič
revize
d8d0b3a06f
1 změnil soubory, kde provedl 2 přidání a 1 odebrání
  1. 2 1
      src/configure.c

+ 2 - 1
src/configure.c

@@ -90,8 +90,9 @@ deferred_configure_conffile(struct pkginfo *pkg, struct conffile *conff)
 
 
 	varbufreset(&cdr2);
 	varbufreset(&cdr2);
 	varbufaddstr(&cdr2, cdr.buf);
 	varbufaddstr(&cdr2, cdr.buf);
-	cdr2.used += 50;
 	varbufaddc(&cdr2, 0);
 	varbufaddc(&cdr2, 0);
+	/* XXX: Make sure there's enough room for extensions. */
+	varbuf_grow(&cdr2, 50);
 	cdr2rest = cdr2.buf + strlen(cdr.buf);
 	cdr2rest = cdr2.buf + strlen(cdr.buf);
 	/* From now on we can just strcpy(cdr2rest, extension); */
 	/* From now on we can just strcpy(cdr2rest, extension); */