summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWez Furlong <wez@php.net>2001-09-07 12:12:19 +0000
committerWez Furlong <wez@php.net>2001-09-07 12:12:19 +0000
commit5569abe1eebea9da86ca97534b19bcfb3b0f4a85 (patch)
tree2681e8df98f1c2f6a89a566b694ff4c62f7df347
parent92390db7e60e34ea619e9dca6d093f28ef071dcc (diff)
downloadphp-git-5569abe1eebea9da86ca97534b19bcfb3b0f4a85.tar.gz
Fix for bug #13190
-rw-r--r--ext/sysvshm/sysvshm.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/ext/sysvshm/sysvshm.c b/ext/sysvshm/sysvshm.c
index eeacad9d7f..c42f612fa4 100644
--- a/ext/sysvshm/sysvshm.c
+++ b/ext/sysvshm/sysvshm.c
@@ -354,14 +354,15 @@ int php_put_shm_data(sysvshm_chunk_head *ptr,long key,char *data, long len) {
long shm_varpos;
total_size=((long)(len+sizeof(sysvshm_chunk)-1)/4)*4+4; /* 4-byte alligment */
+
+ if((shm_varpos=php_check_shm_data(ptr,key))>0) {
+ php_remove_shm_data(ptr, shm_varpos);
+ }
if(ptr->free<total_size) {
return -1; /* not enough memeory */
}
- if((shm_varpos=php_check_shm_data(ptr,key))>0) {
- php_remove_shm_data(ptr, shm_varpos);
- }
shm_var=(sysvshm_chunk*)((char *)ptr+ptr->end);
shm_var->key=key;
shm_var->length=len;