[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

memory problems in anna



Howdy,

retriever.c contains two small buffer overruns, as someone appears to be
forgetting space for the terminating '\0'.  The appended patch fixes
them.

Matt

--- retriever.c.orig	Thu Nov 30 13:22:54 2000
+++ retriever.c	Thu Nov 30 13:23:25 2000
@@ -17,7 +17,7 @@
 int get_package (char *src, char *dest) {
 	int ret;
 	char *retriever=chosen_retriever();
-	char *command=malloc(strlen(retriever) + 1 + strlen(src) +
+	char *command=malloc(strlen(retriever) + 1 + strlen(src) + 1 +
 				     strlen(dest) + 1);
 	sprintf(command, "%s %s %s", retriever, src, dest);
 	ret=! system(command);
@@ -35,7 +35,7 @@
 	char *retriever=chosen_retriever();
 	FILE *packages;
 	char buf[BUFSIZE];
-	char *command=malloc(strlen(retriever) + 9);
+	char *command=malloc(strlen(retriever) + 10);
 	struct package_t *p = NULL, *newp;
 
 	sprintf(command, "%s Packages", retriever);



Reply to: