diff --git a/base/serial/impl/psb_c_csr_impl.F90 b/base/serial/impl/psb_c_csr_impl.F90 index 76b96288..af5812da 100644 --- a/base/serial/impl/psb_c_csr_impl.F90 +++ b/base/serial/impl/psb_c_csr_impl.F90 @@ -4277,7 +4277,7 @@ contains nze = min(size(c%val),size(c%ja)) isz = max(ma,na,mb,nb) call psb_realloc(nb,row,info) - if (info == 0) call psb_realloc(na,idxs,info) + if (info == 0) call psb_realloc(max(na,nb),idxs,info) if (info == 0) call psb_realloc(nb,irow,info) if (info /= 0) return row = dzero @@ -6652,7 +6652,7 @@ contains nze = min(size(c%val),size(c%ja)) isz = max(ma,na,mb,nb) call psb_realloc(nb,row,info) - if (info == 0) call psb_realloc(na,idxs,info) + if (info == 0) call psb_realloc(max(na,nb),idxs,info) if (info == 0) call psb_realloc(nb,irow,info) if (info /= 0) return row = dzero diff --git a/base/serial/impl/psb_d_csr_impl.F90 b/base/serial/impl/psb_d_csr_impl.F90 index 17d6bb8e..5ff34a2f 100644 --- a/base/serial/impl/psb_d_csr_impl.F90 +++ b/base/serial/impl/psb_d_csr_impl.F90 @@ -4277,7 +4277,7 @@ contains nze = min(size(c%val),size(c%ja)) isz = max(ma,na,mb,nb) call psb_realloc(nb,row,info) - if (info == 0) call psb_realloc(na,idxs,info) + if (info == 0) call psb_realloc(max(na,nb),idxs,info) if (info == 0) call psb_realloc(nb,irow,info) if (info /= 0) return row = dzero @@ -6652,7 +6652,7 @@ contains nze = min(size(c%val),size(c%ja)) isz = max(ma,na,mb,nb) call psb_realloc(nb,row,info) - if (info == 0) call psb_realloc(na,idxs,info) + if (info == 0) call psb_realloc(max(na,nb),idxs,info) if (info == 0) call psb_realloc(nb,irow,info) if (info /= 0) return row = dzero diff --git a/base/serial/impl/psb_s_csr_impl.F90 b/base/serial/impl/psb_s_csr_impl.F90 index 5522bf85..a7dd2c15 100644 --- a/base/serial/impl/psb_s_csr_impl.F90 +++ b/base/serial/impl/psb_s_csr_impl.F90 @@ -4277,7 +4277,7 @@ contains nze = min(size(c%val),size(c%ja)) isz = max(ma,na,mb,nb) call psb_realloc(nb,row,info) - if (info == 0) call psb_realloc(na,idxs,info) + if (info == 0) call psb_realloc(max(na,nb),idxs,info) if (info == 0) call psb_realloc(nb,irow,info) if (info /= 0) return row = dzero @@ -6652,7 +6652,7 @@ contains nze = min(size(c%val),size(c%ja)) isz = max(ma,na,mb,nb) call psb_realloc(nb,row,info) - if (info == 0) call psb_realloc(na,idxs,info) + if (info == 0) call psb_realloc(max(na,nb),idxs,info) if (info == 0) call psb_realloc(nb,irow,info) if (info /= 0) return row = dzero diff --git a/base/serial/impl/psb_z_csr_impl.F90 b/base/serial/impl/psb_z_csr_impl.F90 index ccd55f0a..9f6c9b94 100644 --- a/base/serial/impl/psb_z_csr_impl.F90 +++ b/base/serial/impl/psb_z_csr_impl.F90 @@ -4277,7 +4277,7 @@ contains nze = min(size(c%val),size(c%ja)) isz = max(ma,na,mb,nb) call psb_realloc(nb,row,info) - if (info == 0) call psb_realloc(na,idxs,info) + if (info == 0) call psb_realloc(max(na,nb),idxs,info) if (info == 0) call psb_realloc(nb,irow,info) if (info /= 0) return row = dzero @@ -6652,7 +6652,7 @@ contains nze = min(size(c%val),size(c%ja)) isz = max(ma,na,mb,nb) call psb_realloc(nb,row,info) - if (info == 0) call psb_realloc(na,idxs,info) + if (info == 0) call psb_realloc(max(na,nb),idxs,info) if (info == 0) call psb_realloc(nb,irow,info) if (info /= 0) return row = dzero