浏览代码

set_set: Avoid memory leak if no old value and new value is blank

Bryan Drewery 8 年之前
父节点
当前提交
26c3a838f8
共有 1 个文件被更改,包括 6 次插入8 次删除
  1. 6 8
      src/userent.cc

+ 6 - 8
src/userent.cc

@@ -283,14 +283,12 @@ static bool set_set(struct userrec *u, struct user_entry *e, void *buf)
   }
 
   /* add the new entry if it's not empty */
-  if ((!old || old != newxk) && newxk->data) {
-    if (newxk->data[0]) {
-      list_insert((struct xtra_key **) (&e->u.extra), newxk);
-    } else {
-      free(newxk->data);
-      free(newxk->key);
-      free(newxk);
-    }
+  if ((!old || old != newxk) && newxk->data && newxk->data[0]) {
+    list_insert((struct xtra_key **) (&e->u.extra), newxk);
+  } else {
+    free(newxk->data);
+    free(newxk->key);
+    free(newxk);
   }
   return 1;
 }