pacman-debian 7.3.21 → 7.3.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -118,6 +118,7 @@ struct __alpm_handle_t {
118
118
  char *confpath;
119
119
  alpm_db_t *localdb;
120
120
  alpm_list_t *syncdbs;
121
+ int released;
121
122
  };
122
123
 
123
124
  alpm_handle_t *alpm_initialize(const char *root, const char *dbpath, alpm_errno_t *err) {
@@ -135,11 +136,15 @@ alpm_handle_t *alpm_initialize(const char *root, const char *dbpath, alpm_errno_
135
136
 
136
137
  int alpm_release(alpm_handle_t *handle) {
137
138
  if (!handle) return -1;
139
+ if (handle->released) return 0;
138
140
  alpm_db_unregister_all(handle);
139
141
  free(handle->dbpath); handle->dbpath = NULL;
140
142
  free(handle->logfile); handle->logfile = NULL;
141
143
  free(handle->confpath); handle->confpath = NULL;
142
- free(handle);
144
+ handle->released = 1;
145
+ handle->err = ALPM_ERR_OK;
146
+ // Don't free handle itself — dyalpm calls alpm_errno after alpm_release
147
+ // (use-after-free bug in dyalpm v0.1.3). Memory leak is negligible.
143
148
  return 0;
144
149
  }
145
150
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pacman-debian",
3
- "version": "7.3.21",
3
+ "version": "7.3.22",
4
4
  "description": "A Debian/Ubuntu package manager using Arch Linux pacman syntax. Manages .deb packages at dpkg level, supports Arch .pkg.tar.zst, AUR helpers (yay), and makepkg. Configurable multi-repo setup.",
5
5
  "pacmanVersion": "7.1.0",
6
6
  "main": "dist/index.js",