]> code.citadel.org Git - citadel.git/commitdiff
* user_ops.c: fix compiler warning and potential memory leak
authorNathan Bryant <loanshark@uncensored.citadel.org>
Tue, 29 Sep 1998 22:22:42 +0000 (22:22 +0000)
committerNathan Bryant <loanshark@uncensored.citadel.org>
Tue, 29 Sep 1998 22:22:42 +0000 (22:22 +0000)
citadel/ChangeLog
citadel/user_ops.c

index cbb7dc9382348f3c7d9d34ec35a3d77a0d2fb9a0..a1d173c25975599115f719de74c6bcdf61f86f1a 100644 (file)
@@ -1,3 +1,6 @@
+1998-09-29 Nathan Bryant <bryant@cs.usm.maine.edu>
+       * user_ops.c: fix compiler warning and potential memory leak
+
 Tue Sep 29 13:20:14 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * Removed code from some of the utilities which was still attempting
          to access the old non-gdbm data store.
index c2f228cd792a5813b640111a25cdce34d011916d..65de3d3299759932f5598041abf134db8226cc8c 100644 (file)
@@ -161,7 +161,7 @@ void CtdlGetRelationship(struct visit *vbuf,
 
        struct cdbdata *cdbvisit;
        struct visit *visits;
-       int num_visits = 0;
+       int num_visits;
        int a;
 
        bzero(vbuf, sizeof(struct visit));
@@ -170,15 +170,17 @@ void CtdlGetRelationship(struct visit *vbuf,
 
        cdbvisit = cdb_fetch(CDB_VISIT, &rel_user->usernum, sizeof(long));
        if (cdbvisit != NULL) {
-               num_visits = cdbvisit->len / sizeof(struct visit);
+               if ((num_visits = cdbvisit->len / sizeof(struct visit)) == 0) {
+                       cdb_free(cdbvisit);
+                       return;
+               }
                visits = (struct visit *)
                        malloc(num_visits * sizeof(struct visit));
                memcpy(visits, cdbvisit->ptr,
                        (num_visits * sizeof(struct visit)));
                cdb_free(cdbvisit);
                }
-
-       if (num_visits == 0) return;
+       else return;
 
        for (a=0; a<num_visits; ++a) {