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: