diff options
author | Wez Furlong <wez@php.net> | 2001-09-07 12:12:19 +0000 |
---|---|---|
committer | Wez Furlong <wez@php.net> | 2001-09-07 12:12:19 +0000 |
commit | 5569abe1eebea9da86ca97534b19bcfb3b0f4a85 (patch) | |
tree | 2681e8df98f1c2f6a89a566b694ff4c62f7df347 | |
parent | 92390db7e60e34ea619e9dca6d093f28ef071dcc (diff) | |
download | php-git-5569abe1eebea9da86ca97534b19bcfb3b0f4a85.tar.gz |
Fix for bug #13190
-rw-r--r-- | ext/sysvshm/sysvshm.c | 7 |
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; |